Commit Graph

1939 Commits

Author SHA1 Message Date
Martin Stransky
b887819c71 Bug 1464037 - Replace GL_PROVIDER_GLX by MOZ_X11 to build X11 dependent code, r=lsalzman
In order to have useful Wayland builds we need ability to switch
between GL backends run-time - to use EGL backend for Wayland and GLX backend for X11.

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

MozReview-Commit-ID: HYobrHveoaP

--HG--
extra : rebase_source : 2d359355ee747f5898d27d8a28d66114f4135f5b
2018-05-24 14:06:31 +02:00
Martin Stransky
0d7519b550 Bug 1462642 - [Wayland/EGL] Use dummy wl_egl_window instead of PBuffer, r=lsalzman
Wayland on desktop does not support/implement PBuffer. As a workaround
we create a dummy wl_egl_window instead and render to it.

As a side effect we need to store and release this wl_egl_window along
the associated EGLSurface on Wayland.

MozReview-Commit-ID: 1NlzZsOzXz9

--HG--
extra : rebase_source : 13f776ad0a9079f7155ba523b61f93441bf7fd5f
2018-05-22 10:34:32 +02:00
sotaro
f2f0ff199d Bug 1463340 - Add error log to CreatePBufferSurface() r=jrmuizel 2018-05-23 10:27:43 +09:00
Martin Stransky
9cb5dba87a Bug 1460603 - GLLibraryEGL: Use wl_display to get EGLDisplay on Wayland r=lsalzman
Patch author is Takuro Ashie <ashie@clear-code.com>

Use wl_display to get EGLDisplay on Wayland because some drivers doesn't support EGL_DEFAULT_DISPLAY.
For example Intel's driver causes crash without this patch.

MozReview-Commit-ID: ILtRJrW6MDs

--HG--
extra : rebase_source : a513bfa3c1fc408743bd5b4aed6e416f4d8cc0d7
2018-05-09 15:26:15 +02:00
Martin Stransky
6ae5806eb6 Bug 1460605 - Use NS_NATIVE_EGL_WINDOW instead of NS_NATIVE_WINDOW on GTK r=lsalzman
Original patch author is Takuro Ashie <ashie@clear-code.com>

NS_NATIVE_EGL_WINDOW is exported by Gtk toolkit code and provides both X11 window
handle for X11 Gtk backend and EGL window handle for Wayland backend.

MozReview-Commit-ID: DEmlaLL7zGY

--HG--
extra : rebase_source : 4e3fb33e68472d61cbc8c555347d4b10343e2628
2018-05-10 16:14:03 +02: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
Masatoshi Kimura
c7c5848511 Bug 1442275 - Stop using PR_LoadLibrary in gfx/. r=jgilbert
MozReview-Commit-ID: LNZtr4NVFYj

--HG--
extra : rebase_source : 2f064f5662b02a3c2e76774908f4a15e7580720d
extra : source : ad866775710347c330907a315d88784e56dec00e
2018-02-25 01:33:57 +09:00
Markus Stange
072ffa8136 Bug 1444432 - Create Compositor::BlitRenderTarget and implement it for CompositorOGL. r=jrmuizel
MozReview-Commit-ID: Jz3bawvz1pv

--HG--
extra : rebase_source : 1b3e332aa2a312f6acc77b057bc466afc813990e
2018-04-12 15:28:26 -04:00
Markus Stange
2d583272e7 Bug 1444432 - Add an #include "X11UndefineNone.h" to GLXLibrary.h after the X11 header include, so that TiledContentClient.h doesn't suffer from a redefined None. r=jrmuizel
MozReview-Commit-ID: 8PpFuax0XHb

--HG--
extra : rebase_source : aed14abaf59f7cb4278e034ea1b7720a6ea985b6
2018-04-12 23:37:29 -04:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Andrew Osmond
679c14a9c4 Bug 1388020. r=nical 2018-04-06 09:01:17 -04:00
sotaro
807f25f7be Bug 1438456 - Add GLLibraryEGL::CreateDisplay() r=jgilbert 2018-04-04 09:38:42 +09:00
Markus Stange
a52e472ae7 Bug 1449271 - Add a pref called gfx.compositor.glcontext.opaque that defaults to false and can be set to true in order to force the use of an opaque OpenGL context for the window on Mac. r=jrmuizel
MozReview-Commit-ID: InOKiLXGL7o

--HG--
extra : rebase_source : f21566cfb6c084ceb726e9a0331f430b6a72e4c6
2018-03-27 14:43:38 -04:00
Jeff Gilbert
7c6388d1ad Bug 1444086 - TlsScope should use WeakPtr. r=jrmuizel
MozReview-Commit-ID: DX99PqmxMpF

--HG--
extra : rebase_source : 3dbf630accedefa5c2c6ce54469c13bbd8b6bffa
2018-03-27 12:29:19 -04:00
Nathan Froyd
6b66af17ae Bug 1448019 - make various graphics constructors explicit; r=snorp
Attempting to stand up the static analysis for Android builds revealed
that we weren't being explicit enough.
2018-03-27 10:51:32 -04:00
sotaro
5aec14dd5c Bug 1432261 - Enable depth for WebRender r=jgilbert 2018-03-26 10:35:27 +09:00
sotaro
ca36b6a3a9 Bug 1442093 - Add more log to GetAndInitDisplayForWebRender() r=jgilbert 2018-03-22 10:57:55 +09:00
Miko Mynttinen
65c6bee9d6 Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
MozReview-Commit-ID: rGjabnP2iz

--HG--
extra : rebase_source : 1ef6c5ce028ac9ebd9f3176d57835c43fe46bada
2018-03-13 14:51:33 +01:00
James Willcox
8a43a8baff Bug 1401455 - Use correct GLX visual when rendering with WebRender r=karlt
MozReview-Commit-ID: AKT4bgdIkfV
2018-03-16 17:19:23 -05:00
James Willcox
36df193c10 Bug 1401455 - Add GLContextGLX::FindVisual() r=lsalzman
MozReview-Commit-ID: IiInaCEtnIF
2018-03-16 17:19:21 -05:00
James Willcox
4e30d2b54d Bug 1401455 - Expose glxChooseVisual() in GLXLibrary r=jgilbert
MozReview-Commit-ID: CdG2TAJA2Yc
2018-03-16 17:19:17 -05:00
Sylvestre Ledru
fa45a3c670 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 5f5e37517aa80c2e7b5933962178d761074886e7
2018-03-16 14:29:15 +01:00
Coroiu Cristina
0f6841e0d2 Backed out 2 changesets (bug 1443080) for spidermonkey build bustage at build/src/js/src/jit/BaselineCacheIRCompiler.cpp
Backed out changeset 7d509bb8a35d (bug 1443080)
Backed out changeset 53bdcd5937cd (bug 1443080)

--HG--
extra : rebase_source : 59b5350d2959c0b065aedd34bfe8337216c0ea4b
2018-03-14 11:13:21 +02:00
Sylvestre Ledru
c07eb73986 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 17c91bfd7241e3e522b1413b6e544df74f5361a0
2018-03-05 13:43:54 +01:00
Lee Salzman
04a2cb208b Bug 1444506 - part 4 - GL fixes for Skia m66 update. r=jrmuizel 2018-03-12 16:37:10 -04: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
Masatoshi Kimura
dea129ada5 Bug 1428258 - Stop using GetNativePath in gfx/. r=jrmuizel
MozReview-Commit-ID: EdcKDRQeGXg

--HG--
extra : rebase_source : 8a6f93091e7f7cf96f998a3b8a5ce518c822f112
extra : intermediate-source : 77d4d136028337085cebdb59201302676a2ec521
extra : source : 477624377a9796459ada93719df68ba152587781
2017-12-17 00:13:30 +09:00
Csoregi Natalia
5a9ee59e75 Merge inbound to mozilla-central. a=merge 2018-02-01 20:11:41 +02:00
Martin Stransky
bdd7d89f6c Bug 1434574 - Build wayland with EGL OpenGL backend, r=glandium
MozReview-Commit-ID: LpGmUVOYqRI

--HG--
extra : rebase_source : f26825fedcf66b6bdb2bcb32093b1d4451fe60e7
2018-01-31 13:13:50 +01:00
sotaro
ae34263b07 Bug 1419293 - Create SwapChain with DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL if possible in ANGLE r=jgilbert 2018-02-01 21:39:31 +09:00
Jeff Gilbert
778f942474 Bug 1429963 - Don't allow RBAB on Mesa for now. - r=lenzak
RBAB makes it easy to trigger TDRs, so let's punt on fixing the TDR
handling for now.

MozReview-Commit-ID: LRimFTn1mJA
2018-01-17 12:22:01 -08:00
Jeff Gilbert
d9815e3cac Bug 1429754 - Trust the driver about floating point support. - r=daoshengmu
Remove the probe, and remove the cached value check.
Also remove dead code which relies on this sometimes-clamping glGet query.

MozReview-Commit-ID: JA1VgH8fLRB
2018-01-16 15:06:49 -08:00
Chris Peterson
37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Jeff Gilbert
f4cfe8596a Bug 1428898 - Add TlsScope to reduce fIsCurrent calls. - r=daoshengmu
MozReview-Commit-ID: Kyi8dcO7nAu
2018-01-09 18:43:35 -08:00
sotaro
f8c3842c38 Bug 1395107 - Create GL context for WebRender with CompositorDevice applied r=jgilbert 2018-01-09 19:07:50 +09:00
Jeff Gilbert
93dcf044db Bug 1427088 - Don't rely on glGetStringi just because it exists. - r=daoshengmu
MozReview-Commit-ID: Gmf6phqDOTK
2018-01-08 18:43:34 -08:00
Jeff Gilbert
68be900a6c Bug 1427668 - Require frag_color_float for color_buffer_*float extensions. - r=daoshengmu
Add probe for faulty frag_color_float implementations.

MozReview-Commit-ID: E2I0mrDuicV
2018-01-05 15:27:59 -08:00
Jeff Gilbert
db4f0399df Bug 1427668 - Fixes and spew. - r=daoshengmu
MozReview-Commit-ID: 9NPkWsh2rxE
2018-01-05 15:27:56 -08:00
Jeff Gilbert
8fc8584d67 Bug 1427668 - Disable MakeCurrent TLS for ANGLE for now. - r=daoshengmu
MozReview-Commit-ID: HzKKivtXeHX
2018-01-05 15:27:54 -08:00
Jeff Gilbert
8ab9a9aa21 Bug 1427668 - Assert that no-alpha backbuffers have 0xff alpha. - r=daoshengmu
MozReview-Commit-ID: 5UJdoud0f2C
2018-01-05 15:27:51 -08:00
Jeff Gilbert
7edc1cd1d7 Bug 1427668 - Lose context if EnsureDefaultFB fails. - r=daoshengmu
MozReview-Commit-ID: 8OqXYXpUv4I
2018-01-05 15:27:48 -08:00
Jeff Gilbert
3331434de7 Bug 1427668 - Unify MaxRenderbufferSize and MaxTextureSize. - r=daoshengmu
MozReview-Commit-ID: AFS0IqmkQEo
2018-01-05 15:27:46 -08:00
Jeff Gilbert
79fa5ae9cf Bug 1427668 - Reject too-large MozFramebuffer requests. - r=daoshengmu
MozReview-Commit-ID: G2jqeb7QqhE
2018-01-05 15:27:33 -08:00
Jeff Gilbert
df8e8db803 Bug 1427668 - Move the webgl backbuffer into webgl. - r=daoshengmu
MozReview-Commit-ID: 2WpG7mfMRQ8
2018-01-05 15:27:30 -08:00
Jeff Gilbert
3f0aacfb10 Bug 1427668 - Add MozFramebuffer. - r=daoshengmu
MozReview-Commit-ID: CX0wxs7Gqvp
2018-01-05 15:27:28 -08:00
Jeff Gilbert
c845da008c Bug 1347731 - Simplify WGL initialization code. - r=daoshengmu
MozReview-Commit-ID: DpS0nkTghXD
2018-01-04 15:07:02 -08:00
Martin Stransky
da41393bd7 Bug 1425842 - Rename X11CompositorWidget to GtkCompositorWidget and implement WindowSurfaceWayland support, r=jhorak
- Rename X11CompositorWidget to GtkCompositorWidget to handle both X11 and Wayland backends.
- Rename X11CompositorWidgetInitData to GtkCompositorWidgetInitData
- Implement Wayland support at WindowSurfaceProvider, WindowSurfaceProvider::CreateWindowSurface()
  is able to create WindowSurfaceWayland.
- Initialize Wayland surface provider at nsWindow::Create()

MozReview-Commit-ID: 1WvR9nWHa3L

--HG--
rename : widget/gtk/X11CompositorWidget.cpp => widget/gtk/GtkCompositorWidget.cpp
rename : widget/gtk/X11CompositorWidget.h => widget/gtk/GtkCompositorWidget.h
rename : widget/gtk/InProcessX11CompositorWidget.cpp => widget/gtk/InProcessGtkCompositorWidget.cpp
rename : widget/gtk/InProcessX11CompositorWidget.h => widget/gtk/InProcessGtkCompositorWidget.h
extra : rebase_source : d54186515b066b957d8ad05bb5540db55f2e9415
2017-12-18 20:20:02 +01: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
Milan Sreckovic
099cfc4242 Bug 1423570: Use BaseRect access methods instead of member variables in gfx/ r=bas.schouten
MozReview-Commit-ID: ZGySgc9oP3

--HG--
extra : rebase_source : 23aadc10e9885002290155684b2c495780d979ce
2017-12-19 15:48:39 -05:00
Sylvestre Ledru
4591d82b23 Bug 1394734 - Replace CONFIG['CLANG*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: HbF5oT5HW6f

--HG--
extra : rebase_source : eca479b6ae4bff7f600d1cdb39e11ac2057e4e79
2017-12-07 22:09:38 +01:00
Sylvestre Ledru
9bfe27d903 Bug 1394734 - Replace CONFIG['GNU_C*'] by CONFIG['CC_TYPE'] r=glandium
MozReview-Commit-ID: 7duJk2gSd4m

--HG--
extra : rebase_source : 7312fe276e561e8c034a5f6749774ae812727f9c
2017-12-07 22:09:15 +01:00
sotaro
22a064e2b7 Bug 1423524 - Fix YUVColorSpace of TSurfaceDescriptorDXGIYCbCr at GLBlitHelper::BlitImage() r=jgilbert 2017-12-08 11:50:42 +09:00
sotaro
5c61ce035d Bug 1421199 - Use EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE for WebRender r=jgilbert 2017-11-29 13:13:40 +09:00
Jeff Gilbert
6c3abcde6a Bug 1390386 - Use uintptr for the thread-local. - r=daoshengmu
We're just doing a value comparison, so there's no reason this needs to be a pointer.

MozReview-Commit-ID: 6ck2s2fsdq5
2017-11-28 17:13:45 -08:00
Jeff Gilbert
4ff360b4cd Bug 1390386 - Allow null EGLSurfaces. - r=daoshengmu
MozReview-Commit-ID: 4dnmJ9H3RGJ
2017-11-28 17:13:35 -08:00
Jeff Gilbert
fc61254cca Bug 1390386 - fGetError should use BEFORE_GL_CALL. - r=jrmuizel
MozReview-Commit-ID: B8sR38Bzjb5
2017-11-28 17:13:26 -08:00
Jeff Gilbert
ea479cbf60 Bug 1390386 - Remove duplicate IsCurrent checks in MakeCurrentImpls. - r=jrmuizel
MozReview-Commit-ID: LZeLbciWnic
2017-11-28 17:13:17 -08:00
Jeff Gilbert
fbf8b4797b Bug 1390386 - IsCurrent should understand mImplicitMakeCurrent. - r=jrmuizel
MozReview-Commit-ID: 7vMRUPMc3nN
2017-11-28 17:13:07 -08:00
Jeff Gilbert
2bc1cf06c1 Bug 1390386 - Remove old TLS current-context check. - r=daoshengmu
MozReview-Commit-ID: 18GSNztjkTM
2017-11-28 17:12:58 -08:00
Jeff Gilbert
41f0a05667 Bug 1390386 - Add GLContext::mImplicitMakeCurrent. - r=jrmuizel
MozReview-Commit-ID: 5iyGHNzoCpd
2017-11-28 17:12:48 -08:00
Jeff Gilbert
9c2ba78435 Bug 1390386 - Make MakeCurrent const. - r=daoshengmu
MozReview-Commit-ID: 3m3T6iMgZOc
2017-11-28 17:12:39 -08:00
sotaro
f9d17135d9 Bug 1418571 - Set SwapInterval to 0 with ANGLE r=jgilbert 2017-11-24 09:09:29 +09:00
Gurzau Raul
21905d169e Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-11-24 00:38:13 +02:00
Emilio Cobos Álvarez
8f9ca35be9 Bug 1420170: Don't duplicate code for choosing a GLX context between ATI and WR. r=kats
MozReview-Commit-ID: DLvI8Zz7obD

--HG--
extra : rebase_source : 233b8a69fb039b096ec3a43d4296a60c8870271a
2017-11-23 15:46:59 +01:00
Gabriele Svelto
9a1d2f50d2 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from gfx; r=jrmuizel
MozReview-Commit-ID: 7S8AJ18cCx0

--HG--
extra : rebase_source : 983387883dd0feabf8e4e6b1b7335403645470af
2017-10-10 15:11:07 +02:00
James Willcox
f0f93b7d2c Bug 1413500 - Use GLSL 100 for blitting on ES r=jgilbert
MozReview-Commit-ID: KlSRfeP7PVi
2017-11-17 15:11:27 -06:00
Chris Peterson
0e8425b401 Bug 1416164 - Replace NS_ABORT with MOZ_ASSERT_UNREACHABLE. r=froydnj
MozReview-Commit-ID: DRdYlOYqZpN

--HG--
extra : rebase_source : b20fb24abf0f2ce648c12a827532c0dbeefb6c63
2017-10-24 23:52:56 -07:00
David Anderson
9a31238647 Fix DataSourceSurface mapping in GLReadTexImageHelper.cpp. (bug 1405390 part 6, r=jgilbert)
--HG--
extra : rebase_source : 2e5bb4ede103f2f75617ed7b4d5f06fe35de1d72
2017-11-09 00:43:31 -08:00
David Anderson
9575a22267 Remove trivial calls to DataSourceSurface::Stride. (bug 1405390 part 3, r=bas)
--HG--
extra : rebase_source : 7700599ef497a2abadc7970af5ea26b48061966e
2017-11-09 00:43:30 -08:00
David Anderson
3f697bb27d Fix canvas and GL uses of DataSourceSurface::GetData. (bug 1405390 part 2, r=jgilbert)
--HG--
extra : rebase_source : eb4dcdfe9374e317a3a1e426bf35999ea50b074d
2017-11-09 00:43:30 -08:00
Randall Barker
b2e368e0ca Bug 1413362 - part 2: Gecko gfx/vr GVR WebVR implementation r=kip,daoshengmu
MozReview-Commit-ID: HWaXhQo0VML
2017-11-07 10:50:14 -08:00
Sebastian Hengst
f2944960ec Backed out 3 changesets (bug 1413362) for causing merge conflicts. r=merge a=merge
Backed out changeset 8b15dfaeecaa (bug 1413362)
Backed out changeset 2d9da0d19d04 (bug 1413362)
Backed out changeset 653c66220a5f (bug 1413362)

--HG--
extra : amend_source : e5c12297b0bb6ebe27a2481e4aac6c0ca8160a1b
2017-11-07 12:41:11 +02:00
Randall Barker
b1f0bd8a25 Bug 1413362 - part 2: Gecko gfx/vr GVR WebVR implementation r=kip,daoshengmu
MozReview-Commit-ID: HWaXhQo0VML
2017-11-06 17:43:28 -08:00
Sebastian Hengst
2c835e29c4 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-31 00:00:54 +01:00
Sebastian Hengst
f07fc93141 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 4PW6ESqLL73
2017-10-30 23:52:23 +01:00
Jeff Gilbert
76e7050969 Bug 1411626 - Make GLContextSymbols a pure aggregate POD. - r=andi
MozReview-Commit-ID: CFRJqfcdXIJ
2017-10-30 14:51:51 -07:00
Jeff Gilbert
4f2cae0384 Bug 1395497 - Add AndroidSurfaceTexture support to GLBlitHelper. - r=snorp
MozReview-Commit-ID: JttqOoDCE4O
2017-10-30 10:58:56 -05:00
Jamie Nicol
21b5b6db95 Bug 1092294 - Use SurfaceTextures for painted content on android (preffed off). r=nical,snorp
Add a new TextureClientData type, AndroidNativeWindowTextureData,
backed by a SurfaceTexture in single-buffer mode. It uses the
NativeWindow API, which provides producer-side access to the buffer.
This provides a DrawTarget which can be used to paint directly in to
the SurfaceTexture, which can then be composited using a SurfaceTextureHost.

Due to API restrictions it is not possible to read from a NativeWindow
while the corresponding SurfaceTexture has ownership of the
buffer. TiledContentClient now handles that by painting the additional
region that it cannot copy from the front buffer, if required.

MozReview-Commit-ID: 1NZq6MQqwFq

--HG--
extra : rebase_source : 9d1db721d4892f3df033d43127489a85421e8863
2017-10-28 11:59:58 +01:00
Daniel Holbert
976e9f7e7f Bug 1412427 part 1: Add standard mode line & MPL boilerplate to a few gfx C++ files that are missing it entirely. r=jrmuizel
I copied the boilerplate comment directly from the Coding Style MDN page:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

MozReview-Commit-ID: 8rO6SfBIaRl

--HG--
extra : rebase_source : 90093621cbaa2a62b19e22b0eacad600fc586560
2017-10-27 15:55:37 -07:00
Jeff Gilbert
e0d51c5ece Bug 1404536 - Use float division not accidentally int division. - r=daoshengmu
MozReview-Commit-ID: KUIE0dl6hlE
2017-10-26 18:43:35 -07:00
Jeff Gilbert
747359fc3f Bug 1404536 - ESSL3 needs texture() not texture2D(). - r=snorp
MozReview-Commit-ID: CJxOVbkItJX
2017-10-26 18:43:31 -07:00
Jeff Gilbert
62ca2c9829 Bug 1404536 - Use 3x4 matrices for GLBlitHelper's color matrix. - r=daoshengmu
MozReview-Commit-ID: Z5XTzmY3K7
2017-10-26 18:43:28 -07:00
Jeff Gilbert
1f167472bf Bug 1404536 - Use mat3s to transform tex coords in GLBlitHelper. - r=daoshengmu
MozReview-Commit-ID: 9LxsSJF1ggN
2017-10-26 18:43:24 -07:00
Sylvestre Ledru
d60d69e2cb Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj
MozReview-Commit-ID: DjDkL20wRg0

--HG--
extra : rebase_source : a343d83d1f4e97e4ba56d0f57fec93079df0b5ea
2017-10-23 20:59:55 +02:00
sotaro
027a737d41 Bug 1407748 - Force enable alpha channel to make sure ANGLE use correct framebuffer formart r=jgilbert 2017-10-14 07:33:58 +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
Kearwood "Kip" Gilbert
f9d0915510 Bug 1405950 - Corrected bug in SurfaceFactory::NewTextClient preventing matching textures from being located in mRecycleFreePool r=jgilbert on a CLOSED TREE
- As the aLayersChannel parameter is never passed and now no longer used,
  it has been removed from the SurfaceFactory::NewTextClient.
MozReview-Commit-ID: 58K4Tbj92gO

--HG--
extra : amend_source : d25875293b59ad261d48fae537ed6d8867c15714
2017-10-06 17:38:40 +02:00
Sebastian Hengst
f7316170f3 Backed out changeset 0b70ead3e555 (bug 1405950) on suspicion of causing assertions at widget/windows/WinCompositorWidget.cpp:256 in chrome-3 tests on Windows. r=backout on a CLOSED TREE 2017-10-06 17:34:55 +02:00
Kearwood "Kip" Gilbert
58a055b1f7 Bug 1405950 - Corrected bug in SurfaceFactory::NewTextClient preventing matching textures from being located in mRecycleFreePool r=jgilbert
- As the aLayersChannel parameter is never passed and now no longer used,
  it has been removed from the SurfaceFactory::NewTextClient.
MozReview-Commit-ID: 58K4Tbj92gO

--HG--
extra : rebase_source : d9639dcd81f03f71514a5b288002b7c446805d06
2017-10-05 12:54:32 -07:00
Jean-Yves Avenard
1f7ad17007 Bug 1215089 - P9: Add support for 10/12 bits YUV surface with OpenGL compositor. r=mattwoodrow
MozReview-Commit-ID: BR9G7cyopz0

--HG--
extra : rebase_source : c9a29724d5c729ae8c0ae64c36428fe426ea006c
2017-09-29 21:51:29 +02:00
Jean-Yves Avenard
27445fee7a Bug 1215089 - P1: Properly use frame dimensions to determine planes divisors. r=jgilbert
There's no guarantee that the stride of the uv planes is twice as wide as the y plane's stride. This relationship is only true between the planes' width.

MozReview-Commit-ID: JInge1c86Z1

--HG--
extra : rebase_source : 0e9cf5be06812712d50a42db7630f396d0020791
2017-10-04 23:26:42 +02:00
Sebastian Hengst
096fb9d2c6 Backed out changeset a2cfe189c828 (bug 1215089) 2017-10-04 16:25:34 +02:00
Jean-Yves Avenard
b73921d81c Bug 1215089 - P8: Add support for 10/12 bits YUV surface with OpenGL compositor. r=mattwoodrow
MozReview-Commit-ID: BR9G7cyopz0

--HG--
extra : rebase_source : 4a54e12e04b721288f18f7466829fc69d32154ea
2017-09-29 21:51:29 +02:00
Kearwood "Kip" Gilbert
07bf2f8968 Bug 1400407 - Part 1: Cleanup WebVR dead code,r=daoshengmu,r=jgilbert
- VRManagerChild no longer needs to be a TextureForwarder
- VRManagerParent no longer descends from HostIPCAllocator or ShmemAllocator
- PVRManager no longer manages PTexture's
- VRLayerParent::mSize was not used and has been removed

MozReview-Commit-ID: 3bNN5FR5j7M

--HG--
extra : rebase_source : 634277825c00057bca6f8c77cdc942de61d61e9c
2017-09-14 17:10:15 -07:00
Daosheng Mu
d0d62fa8bb Bug 1404518 - Return when OpenSharedTexture is false; r=jgilbert
MozReview-Commit-ID: EIChMhAt5Hk

--HG--
extra : rebase_source : de17ac94919dc85bb0c0162c76b5103b87e73a4e
2017-10-02 14:32:07 +08:00
Jeff Gilbert
c05dfaa988 Bug 1403798 - Fix EXT_sRGB activation, particularly on Windows+ANGLE+ES2. - r=daoshengmu
MozReview-Commit-ID: 9gC3B1jsX5I
2017-09-28 10:29:01 -07:00
sotaro
afe9dcf6ff Bug 1403049 - Remove EGLImageImage r=snorp 2017-09-27 09:56:38 +09:00
Wes Kocher
a341b32d06 Merge autoland to central, a=merge
MozReview-Commit-ID: 8B7y2ULc04
2017-09-26 17:11:14 -07:00
Tom Ritter
b41a3f8520 Bug 1402370 _uuidof is a Microsoft specific extension while IID_* is a portable solution that will fix the MinGW build of GLBlitHelperD3D.cpp r=jrmuizel
MozReview-Commit-ID: 1FfQRZ5e5XG

--HG--
extra : rebase_source : 8e203dcadd5088687d62a16006d8fc3d7b781ec1
2017-09-22 11:10:43 -05:00
Tom Ritter
e485aa7144 Bug 1402370 nullptr cannot be cast to bool, so return false instead of nullptr in GLBlitHelperD3D.cpp r=jrmuizel
MozReview-Commit-ID: EeboZBGD0Es

--HG--
extra : rebase_source : d339355bf5ffd6aa6d8e98f8a5c7ab4e3ec436cf
2017-09-22 11:10:04 -05:00
sotaro
8c6ed26316 Bug 1402767 - Enable accleleration of GLScreenBuffer when WebRender is enabled r=jgilbert 2017-09-26 13:15:36 +09:00
sotaro
c41f9edbea Bug 1366700 - Remove MOZ_CRASH in GLContextEGLFactory::Create r=jgilbert 2017-09-19 11:26:31 +09:00
Jeff Gilbert
3f6254c645 Bug 1396704 - Remove assert, which was the whole point of this bug.
MozReview-Commit-ID: HB5p6Kt0zTb
2017-09-18 14:40:22 -07:00
Jeff Gilbert
607fb42383 Bug 1396521 - Check that we have ANGLE exts for blitting from d3d. - r=daoshengmu
MozReview-Commit-ID: 3eto0R2Cjwa
2017-09-05 20:27:16 -07:00
Jeff Gilbert
dc84c31d74 Bug 1396704 - Support GLBlitHelper without VAOs. - r=daoshengmu
MozReview-Commit-ID: HB5p6Kt0zTb
2017-09-05 19:05:23 -07:00
Jeff Gilbert
fd8d97161e Bug 1322746 - Fix android blitting. - r=daoshengmu
MozReview-Commit-ID: F9qm5XtPUoE
2017-09-02 21:52:28 -07:00
Jeff Gilbert
daa61bbdbe Bug 1322746 - Explicitly reject D3D9_RGB32_TEXTURE for fast blitting.
MozReview-Commit-ID: JA683emuAzX
2017-09-02 21:52:25 -07:00
Jeff Gilbert
2079c15795 Bug 1322746 - Add extern decls for DrawBlitProg::Key. - r=daoshengmu
MozReview-Commit-ID: CZSOmThJSbj
2017-09-02 21:52:22 -07:00
Jeff Gilbert
62f11c8d02 Bug 1322746 - Support blit from IOSurfaces. - r=mattwoodrow
MozReview-Commit-ID: K4aHyOjQXfP
2017-09-02 21:52:19 -07: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
Phil Ringnalda
72a1482137 Backed out 14 changesets (bug 1322746) for unexpected passes on Win8
Backed out changeset a10fcb139377 (bug 1322746)
Backed out changeset 992b2173bda7 (bug 1322746)
Backed out changeset 88a28c4ebc6b (bug 1322746)
Backed out changeset c5bd6bbf5653 (bug 1322746)
Backed out changeset 882cd05b7064 (bug 1322746)
Backed out changeset 87e7f25a089c (bug 1322746)
Backed out changeset 2ed5b75a6f5e (bug 1322746)
Backed out changeset 6d1dd5775850 (bug 1322746)
Backed out changeset b97bb7a2e555 (bug 1322746)
Backed out changeset ab8352ffd2ca (bug 1322746)
Backed out changeset a4901ec3c327 (bug 1322746)
Backed out changeset 61c7478af98c (bug 1322746)
Backed out changeset b202e9377e24 (bug 1322746)
Backed out changeset cf739e7c76b8 (bug 1322746)

MozReview-Commit-ID: CesCbY4ABvS
2017-09-01 22:28:49 -07:00
Jeff Gilbert
0a7d25ea13 Bug 1394265 - Don't allow GL version <200. - r=daoshengmu
MozReview-Commit-ID: 8wD8uHFc5kY
2017-09-01 14:30:04 -07:00
Jeff Gilbert
22800b6a58 Bug 1322746 - Fix android blitting. - r=daoshengmu
MozReview-Commit-ID: F9qm5XtPUoE
2017-09-01 13:58:18 -07:00
Jeff Gilbert
b33308d9bd Bug 1322746 - Explicitly reject D3D9_RGB32_TEXTURE for fast blitting.
MozReview-Commit-ID: JA683emuAzX
2017-09-01 13:58:15 -07:00
Jeff Gilbert
b77be51696 Bug 1322746 - Add extern decls for DrawBlitProg::Key. - r=daoshengmu
MozReview-Commit-ID: CZSOmThJSbj
2017-09-01 13:58:12 -07:00
Jeff Gilbert
2c16addde7 Bug 1322746 - Support blit from IOSurfaces. - r=mattwoodrow
MozReview-Commit-ID: K4aHyOjQXfP
2017-09-01 13:58:10 -07:00
Jeff Gilbert
31ed61899f Bug 1322746 - Support PLANAR_YCBCR, GPU_VIDEO, and D3D11_YCBCR_IMAGE in GLBlitHelper. - r=jerry
MozReview-Commit-ID: FNsmq0RPvYB
2017-09-01 13:58:07 -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
Randall Barker
687d31efab Bug 1382292 - Revert PLANAR_YCBCR case in GLBlitHelper.cpp on Android so that when a canvas uses a video frame as source, it is not flipped r=kvark
MozReview-Commit-ID: 1RZ5G1vkB7U
2017-08-17 12:02:17 -07:00
Ami
5618882599 Bug 1388531 - Remove stubbed out B2G only functions. r=jgilbert 2017-08-13 23:14:00 -04:00
Jeff Gilbert
eaba18bebc Bug 1388565 - shader_texture_lod is core in GL3 and ES3. - r=daoshengmu
MozReview-Commit-ID: IbqRF4MdK2l
2017-08-15 16:52:38 -07:00
Jeff Gilbert
cfccc12f18 Bug 1388565 - Fix WEBGL_compressed_texture_s3tc_srgb driver requirements. - r=daoshengmu
MozReview-Commit-ID: 5k7m1ebzlCx
2017-08-15 16:52:35 -07:00
Milan Sreckovic
e3cd0a3157 Bug 1387514: Upgrade BaseRect (derived classes) width and height direct member variable use to instead use Width()/SetWidth() and Height()/SetHeight() in .cpp files in gfx/*. r=milan
MozReview-Commit-ID: 1jESowJKdyp

--HG--
extra : rebase_source : 3839cdea46729a9af05c777215cffcb9f42a2018
2017-08-14 08:29:28 -04:00
Sylvestre Ledru
8382a92592 Bug 1387002 - Replace .size() by .empty() when applicable in gfx/ r=nical
MozReview-Commit-ID: BIrMZHj6BBZ

--HG--
extra : rebase_source : df064bc9628d3a78c153f2455fa4861a95abca8e
2017-08-03 12:02:35 +02: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
Randall Barker
844ff5f090 Bug 1380843 - Add gfx preference so GLScreenBuffer may be toggled between SurfaceFactory_EGLImage and SurfaceFactory_SurfaceTexture r=jgilbert
MozReview-Commit-ID: E6YOeIqo4UK
2017-08-02 17:09:38 -07:00
Randall Barker
96a2116ce5 Bug 1370544 - Ensure EGLSurface is created with the same EGLConfig as the context r=jgilbert
MozReview-Commit-ID: 1cN7VzCa2lV
2017-08-02 17:09:37 -07:00
Nicholas Nethercote
72c884bf74 Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj.
--HG--
extra : rebase_source : d317b25be2ec21d1a60d25da3689e46cdce0b649
2017-07-31 14:28:48 +10:00
Nicolas Silva
24239ea4f0 Bug 13821850 - Return false in GLContext::Readback if MakeCurrent failed. r=jgilbert 2017-07-24 12:24:18 +02:00
Nicolas Silva
bda3e29a75 Bug 1382185 - Check the status of MakeCurrent in GLContext.cpp. r=jgilbert 2017-07-24 12:24:14 +02:00
Sylvestre Ledru
7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Samuel Vargas
cf725b7488 Bug 1367613 - Track and spew synchronous/blocking GL call counts. r=jgilbert 2017-07-13 14:26:00 -04:00
Samuel Vargas
9140fdd298 Bug 1378571 - Avoid unnecessary MakeCurrentImpl calls when GL context is already current - r=jgilbert 2017-07-07 16:16:00 +02:00
shindli
fb855aa7ba Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto
6fc7fdc557 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from gfx; r=jrmuizel
MozReview-Commit-ID: 7S8AJ18cCx0

--HG--
extra : rebase_source : 5fb4dbbd0416adeaf1796845e808b053ed029de4
2017-10-10 15:11:07 +02:00
Nicholas Nethercote
58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
James Willcox
1ee305812e Bug 1370308 - Don't crash when using SkiaGL with SurfaceTexture on Android r=jgilbert
MozReview-Commit-ID: EKxBaU6SfdB
2017-06-15 10:59:01 -05:00
JerryShih
23bde0778f Bug 1372489 - Update GLConsts.h and GLDefs.h. r=jgilbert.
Get the latest gl.xml, egl.xml, wgl.xml and glx.xml.
Then, execute the |GLParseRegistryXML.py|. Please check the details in |GLParseRegistryXML.py|.

The ANGLE_stream_producer_d3d_texture_nv12 and ANGLE_keyed_mutex extension are not exist in egl.xml,
so add the "LOCAL_EGL_DXGI_KEYED_MUTEX_ANGLE" and "LOCAL_EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE" manually in GLDefs.h.

egl:
2e6e7ff7bf
gl, glx and wgl:
23a3a95673
2017-06-15 14:43:53 +08:00
sotaro
66b234254a Bug 1371557 - Enable depth buffer on GLContextProviderEGL for webrender r=nical 2017-06-14 19:32:04 +09:00
Bill McCloskey
f9aca3eae6 Bug 1365099 - Convert NS_GetCurrentThread uses in gfx (r=dvander)
MozReview-Commit-ID: 9I4eXsBl2s8
2017-06-12 20:20:08 -07:00
Jeff Muizelaar
fd0bdd7710 Bug 1371434. Use LOCAL_GLX_CONTEXT_PROFILE_MASK_ARB instead of LOCAL_GLX_CONTEXT_FLAGS_ARB. r=kvark
I'm not sure why I originally used GLX_CONTEXT_FLAGS_ARB but the spec at
https://www.khronos.org/registry/OpenGL/extensions/ARB/GLX_ARB_create_context.txt
strongly suggests using GLX_CONTEXT_PROFILE_MASK_ARB
2017-06-12 16:15:08 -04:00
dmu@mozilla.com
5a72ace401 Bug 1366941 - Checking LayersIPCChannel type when using recycled textureClient; r=nical
MozReview-Commit-ID: 94PQA67fvoJ

--HG--
extra : rebase_source : 58b07b7c5d1f7c5bac729d18842655b3c620eba4
2017-05-24 11:01:45 +00:00
Phil Ringnalda
f3312efa43 Backed out changeset ca6881983573 (bug 1366941) for build bustage
CLOSED TREE

MozReview-Commit-ID: DgThUZ2RpU
2017-06-01 20:05:48 -07:00
Daosheng Mu
e10b834325 Bug 1366941 - Checking LayersIPCChannel type when using recycled textureClient; r=nical
MozReview-Commit-ID: AJUJIC2tkHC

--HG--
extra : rebase_source : 259b8c9f63313dcb5c2291bacb4bcfdc04e757b1
2017-06-01 13:34:00 +08:00