Commit Graph

315 Commits

Author SHA1 Message Date
Jeff Gilbert
4326ade37e Bug 1471991 - Remove PopulateCapFallbackQueue from WebGLContext creation. - r=kvark
MozReview-Commit-ID: GCYgU8IiFpi
2018-06-28 13:09:16 -07:00
Jeff Gilbert
2c3c94a377 Bug 1349799 - Implement WebGLPowerPreference and gl::CreateContextFlags::HIGH_POWER. - r=kvark
Based on patches by :daoshengmu.

MozReview-Commit-ID: FSbJV8DLyJ4
2018-06-26 15:22:26 -07:00
Emilio Cobos Álvarez
0348c342b8 Bug 1470930: Use enums for passing arguments for event dispatch. r=smaug
MozReview-Commit-ID: DsNuF7GAflJ
2018-06-26 18:22:06 +02:00
Cosmin Sabou
f2349503f2 Backed out 2 changesets (bug 1349799) for build bustages on WebGLContext.cpp. CLOSED TREE
Backed out changeset ee86c06ef4cf (bug 1349799)
Backed out changeset c26fe9f3466f (bug 1349799)
2018-06-26 04:21:08 +03:00
Jeff Gilbert
534b11fd63 Bug 1349799 - Implement WebGLPowerPreference and gl::CreateContextFlags::HIGH_POWER. - r=kvark
Based on patches by :daoshengmu.

MozReview-Commit-ID: FSbJV8DLyJ4
2018-06-25 17:58:03 -07:00
Kearwood Gilbert
34415528b3 Bug 1462695 - Prevent crashing when context lost during WebVR presentation,r=jgilbert 2018-05-25 14:10:47 -07:00
Boris Zbarsky
57e4b18aed Bug 1455052 part 8. Stop using nsIDOMEvent in docshell and dom. r=masayuki
MozReview-Commit-ID: ASkuyN3xSwB
2018-04-20 12:55:30 -04:00
Sebastian Hengst
d91e9954eb 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
6095241db8 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Boris Zbarsky
d54406240d Bug 1449631 part 6. Remove nsIDOMEventTarget::DispatchEvent. r=smaug
MozReview-Commit-ID: 8YMgmMwZkAL
2018-04-05 13:42:41 -04:00
Jeff Gilbert
339a7f14d4 Bug 1450148 - Generic TF Buffer slot moved to Context from TFO. - r=kvark
MozReview-Commit-ID: C2YkjedeFTy
2018-04-03 16:25:21 -07:00
Jeff Gilbert
7fc8860106 Bug 1442502 - Require event loop roundtrip for WebGLSync. - r=kvark
MozReview-Commit-ID: 6h6j2LvJdXm
2018-03-07 12:16:16 -08:00
Adrian Wielgosik
d5cdd92a96 Bug 1441270 - Remove nsIDOMWebGLRenderingContext. r=jgilbert
It's now empty and unused.

MozReview-Commit-ID: KvhdDp3dqU3
2018-02-26 20:36:04 +01:00
Adrian Wielgosik
f49409cf50 Bug 1441270 - Remove unused WebGL parameter getters. r=jgilbert
MozReview-Commit-ID: 7PqaPG2STUs
2018-02-26 20:35:12 +01:00
Edmund Wong
8dbd5e0533 Bug 1428678 - Include MozFramebuffer.h instead of gfx/gl/MozFramebuffer.h to work around Thunderbird builtbot problem. r=jgilbert a=thunderbird-bustagefix 2018-01-07 19:35:00 +02:00
Jeff Gilbert
fc1ef81d8d Bug 1427668 - Fixes and spew. - r=daoshengmu
MozReview-Commit-ID: 9NPkWsh2rxE
2018-01-05 15:27:56 -08:00
Jeff Gilbert
43811d97a3 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
07929f6e62 Bug 1427668 - Lose context if EnsureDefaultFB fails. - r=daoshengmu
MozReview-Commit-ID: 8OqXYXpUv4I
2018-01-05 15:27:48 -08:00
Jeff Gilbert
83886d1975 Bug 1427668 - ColorMask(0xf) for backbuffer resolve. - r=daoshengmu
MozReview-Commit-ID: KZJZ0Lc0vbC
2018-01-05 15:27:36 -08:00
Jeff Gilbert
683e75beaf Bug 1427668 - Move the webgl backbuffer into webgl. - r=daoshengmu
MozReview-Commit-ID: 2WpG7mfMRQ8
2018-01-05 15:27:30 -08:00
Jamie Nicol
66b580d032 Bug 1421481 - Post-review follow-up for webgl context initialization. r=jgilbert
MozReview-Commit-ID: Ja3t0gcWHZS
2018-01-04 13:38:47 +00:00
Jeff Gilbert
acda6087b5 Bug 1426280 - Remove explicit MakeCurrents from WebGL now that we use implicit MakeCurrent. - r=lenzak
MozReview-Commit-ID: HxWWPmD1Yzu
2017-12-19 22:28:49 -08:00
Jamie Nicol
4038aec0be Bug 1421481 - Increase allowed number of webgl contexts on mobile. r=snorp
This was previously limited to 2 per principal and 4 total on
mobile. Mobile GPU drivers have progressed a lot since the limit was
put in place, and the strict limit is causing webcompat issues on
google maps.

Increase to 8 per principal and 16 in total, bringing us
closer in line with Chrome. Make these limits contrallable via a pref
so that if there are any problems it is easy to change.

MozReview-Commit-ID: 8Tsbrjr4KCE
2017-11-30 11:40:57 +00:00
Jeff Gilbert
d73f054af9 Bug 1390386 - Add GLContext::mImplicitMakeCurrent. - r=jrmuizel
MozReview-Commit-ID: 5iyGHNzoCpd
2017-11-28 17:12:48 -08:00
Daosheng Mu
6e9fa6fd05 Bug 1413269 - Apply REQUIRE_COMPAT_PROFILE flag for WebGL 1 on Intel HD Grahpics 3000 on OSX. - r=jgilbert
MozReview-Commit-ID: FZzZpaU9uiv
2017-11-24 16:51:37 +08:00
Sylvestre Ledru
c240d131cb Bug 1408383 - Dead code in GetSurfaceSnapshot r=jgilbert
MozReview-Commit-ID: 2AS1OwFdiMq
2017-10-13 15:32:22 +02:00
Jeff Gilbert
8bc4b69aad Bug 1404196 - Simplify and repair vertex fetch. - r=daoshengmu
MozReview-Commit-ID: FL7uibuv4VY
2017-11-01 15:18:27 -07:00
sotaro
92141c5439 Bug 1401609 - Add UpdateWebRenderCanvasData() to handle CanvasRenderer re-creation r=jrmuizel,mstange 2017-10-28 19:07:27 +09:00
Chih-Yi Leu
50474bbb81 Bug 1371190 - Part 5: Force enable alpha channel to prevent ANGLE from using incompatible backbuffer format. r=jgilbert
MozReview-Commit-ID: JtbKebUiroM
2017-09-06 10:50:14 +08:00
Kyle Machulis
e579fad77f Bug 1403819 - Remove nsIDOMHTMLCanvasElement; r=bz
Removes the XPCOM interface for nsIDOMHTMLCanvasElement, replacing it
with binding class usage.

MozReview-Commit-ID: DQJhqGlY8U6
2017-10-06 10:49:26 -07:00
Sebastian Hengst
8cdc6e3c20 Backed out changeset 85a3dd1433e2 (bug 1371190) 2017-10-06 15:29:34 +02:00
Chih-Yi Leu
764bc7e2e7 Bug 1371190 - Part 5: Force enable alpha channel to prevent ANGLE from using incompatible backbuffer format. r=jgilbert
MozReview-Commit-ID: JtbKebUiroM
2017-09-06 10:50:14 +08:00
Kearwood "Kip" Gilbert
e1c2b94f20 Bug 1400407 - Part 3: Remove IsMirror concept, as it is no longer used by WebVR,r=jgilbert
- This patch is the same as one from Bug 1382104 (Remove IsMirror concept
  in favor of checking forwarder).
- It is safe to uplift this patch without the rest of Bug 1382104 as long
  as the remaining Bug 1381084 is also uplifted.

MozReview-Commit-ID: 21YZObeSUa3
2017-08-28 14:50:14 -07:00
Kearwood "Kip" Gilbert
633a57e221 Bug 1400457 - Isolate VR Rendering from Compositor r=daoshengmu,jgilbert
- WebVR is no longer dependent on PTexture, TextureParent,
  TextureHost, and TextureChild.  It continues to use TextureClient
  for pooling and coordinating locks with other Gecko code.
- PreserveDrawingBuffer now behaving correctly for 2d display mirroring
- Preparation for separating to VR process
MozReview-Commit-ID: 2RGOulCInSu
2017-07-21 17:30:34 -07:00
sotaro
170dd7af42 Bug 1402767 - Enable accleleration of GLScreenBuffer when WebRender is enabled r=jgilbert 2017-09-26 13:15:36 +09:00
Jonathan Watt
e3204e3c0c Bug 1401356, part 2 - Rename nsSVGEffects to SVGObserverUtils. r=longsonr 2017-08-30 15:58:31 +01:00
Jonathan Watt
7428c44f4d Bug 1401356, part 1 - Rename nsSVGEffects.h/.cpp to SVGObserverUtils.h/.cpp. r=longsonr 2017-08-30 14:14:46 +01:00
Daosheng Mu
c3a50cf2db Bug 1398404 - Make current context when updating max draw buffers; r=jgilbert
MozReview-Commit-ID: 1OSjjMwCpBb
2017-09-11 10:30:48 +08:00
Chung-Sheng Fu
47e83a94ee Bug 1217290 - Remove WebGLContext impl members r=daoshengmu,jgilbert
MozReview-Commit-ID: DPrjaf9QHfP
2017-07-27 15:48:58 +08:00
Chung-Sheng Fu
3def62ed03 Bug 1217290 - Remove WebGLContext::MinCapabilityMode r=daoshengmu,jgilbert
MozReview-Commit-ID: 8Ggsjm8ReeR
2017-07-27 15:48:35 +08:00
Nathan Froyd
cae73c2799 Bug 1378474 - part 2 - label WebGLQuery's AvailableRunnable; r=jgilbert,billm
If we have an associated canvas element, the query should go in the
queue of the associated document.
2017-08-23 10:39:40 -04:00
Morris Tseng
16a3e2389b Bug 1391136 - Handle context lost in layers-free mode. r=jgilbert
MozReview-Commit-ID: 1J0EggRmM4i
2017-08-18 15:13:29 +08:00
Phil Ringnalda
83da625710 Backed out 7 changesets (bug 1390386) for Android crashes in testSettingsPages
Backed out changeset 22b11f9aedd3 (bug 1390386)
Backed out changeset caffdbefd427 (bug 1390386)
Backed out changeset 3364e6589731 (bug 1390386)
Backed out changeset ed6857bdc17b (bug 1390386)
Backed out changeset 1314405cf812 (bug 1390386)
Backed out changeset 9d16670edeb5 (bug 1390386)
Backed out changeset d1286d0d2c79 (bug 1390386)

MozReview-Commit-ID: 3V3ZFwrNaGE
2017-08-17 21:06:05 -07:00
Jeff Gilbert
adeca1ff11 Bug 1390386 - Add GLContext::mImplicitMakeCurrent. - r=jrmuizel
MozReview-Commit-ID: 5iyGHNzoCpd
2017-08-17 16:15:48 -07:00
Jeff Gilbert
278be00a79 Bug 1388565 - Add webgl.1.allow-core-profiles, enabled for osx. - r=daoshengmu
MozReview-Commit-ID: 2PM6jkswzRU
2017-08-15 16:52:29 -07:00
Michael Smith
08071dae27 Bug 1373739 - Disable WebGL in headless mode. r=bdahl
MozReview-Commit-ID: LWe9hRh7zXX
2017-06-22 10:13:12 -07:00
Morris Tseng
cb1ff9368d Bug 1379920 - Introduce CanvasRenderer and its derived classes. r=nical,jrmuizel
This patch move common canvas interfaces out of layer. So I create a
base class CanvasRenderer which move interfaces from CanvasLayer.
CopyableCanvasRenderer from CopyableCanvasLayer, ClientCanvasRenderer
from ClientCanvasLayer and WebRenderCanvasRenderer from
WebRenderCanvasLayer. And finally, WebRenderCanvasRendererSync for the
non layers free mode and WebRenderCanvasRendererAsync for the layers
free mode.

Summary all changes in this patch.
* Move class CanvasLayer::Data to CanvasRenderer.h and rename it to
CanvasInitializeData. Because this class not only use by layer but also
* Move BasicCanvasLayer::UpdateSurface to
CopyableCanvasRenderer::ReadbackSurface.
* CanvasClient::Update now accepts ShareableCanvasRenderer as parameter.
not CanvasLayer.
use by layers-free mode. Move it out of layer's class makes more sense.
* Add InitializeCanvasRenderer in the canvas related classes to
initialize CanvasRenderer without involved layer.
* All canvas layer has function "CreateCanvasRendererInternal" that
initialize corresponding CanvasRenderer.

* Description of all CanvasRenderer classes:
** CanvasRenderer: Based classes.
** CopyableCanvasRenderer: Can readback canvas content to a
SourceSurface. Use by BasicCanvasLayer.
** ShareableCanvasRenderer: Provide IPC capabilities that allow sending
canvas content over IPC. This is pure virtual class because the IPC handling is
different in different LayerManager.
** ClientCanvasRenderer: Implement IPC handling for ClientLayerManager.
Use by ClientCanvasLayer.
** WebRenderCanvasRenderer: Implement IPC handling for
WebRenderLayerManager.
** WebRenderCanvasRendererSync: Use by WebRenderCanvasLayer.
** WebRenderCanvasRendererAsync: Use by layers-free mode in WebRender.

class diagram shows below:

                      +--------------+
                      |CanvasRenderer|
                      +-------+------+
                              ^
                              |
                  +----------------------+
                  |CopyableCanvasRenderer|
                  +----------------------+
                              ^
                              |
                  +-----------+-----------+
                  |ShareableCanvasRenderer|
                  +-----+-----------------+
                        ^      ^
          +-------------+      +-------+
          |                            |
+--------------------+       +---------+-------------+
|ClientCanvasRenderer|       |WebRenderCanvasRenderer|
+--------------------+       +--------+--+-----------+
                                      ^  ^
              +-----------------------+  +----+
              |                               |
+-------------+-------------+   +-------------+--------------+
|WebRenderCanvasRendererSync|   |WebRenderCanvasRendererAsync|
+---------------------------+   +----------------------------+

MozReview-Commit-ID: 5hqQ19W169r
2017-08-03 13:55:14 +08:00
Kartikaya Gupta
14424677af Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.

MozReview-Commit-ID: 6s78RvPFMzv
2017-07-26 16:03:57 -04:00
Nicholas Nethercote
e892cd86c4 Bug 1382099 - Remove MOZ_WIDGET_GONK from several dom/ subdirectories. r=mccr8,jdm.
As well as the obvious #ifdef stuff, the patch removes
TCPSocket::SetAppIdAndBrowser(), which means
{TCPSocketParent,TCPServerSocketParent}::{GetAppId,GetInIsolatedMozBrowser}()
can also be removed.
2017-07-21 10:52:44 +10:00
Samuel Vargas
5305ab7ccd Bug 1367613 - Track and spew synchronous/blocking GL call counts. r=jgilbert 2017-07-13 14:26:00 -04:00