Commit graph

286 commits

Author SHA1 Message Date
Andi-Bogdan Postelnicu
0a0c20c544 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=jgilbert
--HG--
extra : rebase_source : 4cd1872292439fbcc68c7739e5ef768eb3966c91
2018-07-06 10:56:24 +03:00
Jeff Gilbert
52a050c9e3 Bug 1471991 - Remove PopulateCapFallbackQueue from WebGLContext creation. - r=kvark
MozReview-Commit-ID: GCYgU8IiFpi

--HG--
extra : rebase_source : 468bbd280e07c71d8d0d8727f1768dc8cdb2b2e4
2018-06-28 13:09:16 -07:00
Jeff Gilbert
3cdbe9fdb9 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
Cosmin Sabou
a2f9b1e3eb 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
a98de2afca 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
Markus Stange
90d2624508 Bug 1219985 - The canvas rendering context 2d should be opaque if either the moz-opaque attribute is set or if it has been initialized with alpha:false. r=jrmuizel
If the canvas is cleared by setting the width or height attributes, its
opaqueness should not be affected.

This patch keeps support for moz-opaque, and also keeps the behavior that
changing the moz-opaque attribute clears the canvas, even if this does not
affect the actual opaqueness of the canvas.

MozReview-Commit-ID: LOlsJxiP9kc

--HG--
extra : rebase_source : 8bb95b1d5932c39a8085e007f9fd1b88b97afe55
2018-05-02 11:23:53 -04:00
Boris Zbarsky
a0b6e32bba Bug 1449631 part 12. Remove the Nullable smuggling from nsIDOMEventTarget. r=smaug
MozReview-Commit-ID: 73qhRSCpr3S
2018-04-05 13:42:42 -04:00
Jeff Gilbert
ad64b41497 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
b21ff75bef Bug 1446412 - Don't query GL for RED_BITS and friends queries. - r=kvark
There's no reason to ask GL since we should know the answers.
Also GL is tricky on how it handles these semi-deprecated queries.
Official GL stance is "don't ask questions you know the answer to".

MozReview-Commit-ID: F7p73eSTrYw
2018-03-29 18:11:05 -07:00
shindli
65de3da95f Backed out changeset e3334509e606 (bug 1446412) for gl failures in /builds/worker/workspace/build/src/dom/canvas/WebGLFramebuffer.cpp:44 on a CLOSED TREE 2018-03-27 23:26:16 +03:00
Jeff Gilbert
c1754397f4 Bug 1446412 - Don't query GL for RED_BITS and friends queries. - r=kvark
There's no reason to ask GL since we should know the answers.
Also GL is tricky on how it handles these semi-deprecated queries.
Official GL stance is "don't ask questions you know the answer to".

MozReview-Commit-ID: F7p73eSTrYw
2018-03-27 12:31:35 -07:00
Jeff Gilbert
2d543d4bc6 Bug 1444563 - Update stencil front/back mismatch validation. - r=kvark
Also update corresponding test to have a stencil buffer and enable
STENCIL_TEST.
MozReview-Commit-ID: GyCpJ0a1F9H
2018-03-16 13:35:03 -07:00
Brindusan Cristian
cd3d3ade3d Backed out changeset 586d0eef1de5 (bug 1444563) for webgl failures on test_2_conformance__misc__webgl-specific.html CLOSED TREE 2018-03-15 23:22:10 +02:00
Jeff Gilbert
41d36258a3 Bug 1444563 - Update stencil front/back mismatch validation. - r=kvark
MozReview-Commit-ID: GyCpJ0a1F9H
2018-03-15 13:39:12 -07:00
Jeff Gilbert
f7054fb683 Bug 1442502 - Require event loop roundtrip for WebGLSync. - r=kvark
MozReview-Commit-ID: 6h6j2LvJdXm
2018-03-07 12:16:16 -08:00
Adrian Wielgosik
c3a7bce436 Bug 1441270 - Remove nsIDOMWebGLRenderingContext. r=jgilbert
It's now empty and unused.

MozReview-Commit-ID: KvhdDp3dqU3

--HG--
extra : rebase_source : f017bb78250d62189105918dda2708ed01ca1aec
2018-02-26 20:36:04 +01: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
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
182a604cde Bug 1427668 - Special-case lazy glEnable caps. - r=daoshengmu
MozReview-Commit-ID: KD5N2y1U804
2018-01-05 15:27:43 -08:00
Jeff Gilbert
9e26c20b7f Bug 1427668 - ColorMask(0xf) for backbuffer resolve. - r=daoshengmu
MozReview-Commit-ID: KZJZ0Lc0vbC
2018-01-05 15:27:36 -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
ff584c03d1 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
Jeff Gilbert
7c24606044 Bug 1425488 - Warn when ill-advised readbacks will cause pipeline stalls. - r=daoshengmu
MozReview-Commit-ID: KXZIxzqNTc2
2017-12-18 18:34:14 -08:00
Jeff Gilbert
76aeb80f35 Bug 1425369 - Treat Draw* as Draw*Instanced(1). - r=daoshengmu
MozReview-Commit-ID: KZKNQtCSG4V
2017-12-15 11:43:50 -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
d6af1e81ba Bug 1404196 - Simplify and repair vertex fetch. - r=daoshengmu
MozReview-Commit-ID: FL7uibuv4VY
2017-11-01 15:18:27 -07:00
sotaro
23069babc9 Bug 1401609 - Add UpdateWebRenderCanvasData() to handle CanvasRenderer re-creation r=jrmuizel,mstange 2017-10-28 19:07:27 +09:00
Kearwood "Kip" Gilbert
6f85ed3a79 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

--HG--
extra : rebase_source : 8d543fe69f4ac9df5ccdc42d3ce47bb37eea4396
2017-08-28 14:50:14 -07:00
Kearwood "Kip" Gilbert
7f6e715fdf Bug 1400407 - Part 2: Cleanup DOM Canvas mirroring dead code,r=jgilbert
- Refactored out Canvas layer mirror specialization, no longer needed
  as we are no longer implementing a TextureForwarder to submit VR frames.

MozReview-Commit-ID: ArZO6M9kNLg

--HG--
extra : rebase_source : 2447bfb61b6575f0c6bdaf35ecd4656e7cfb762f
2017-09-15 15:06:56 -07:00
Kearwood "Kip" Gilbert
c5a2279e20 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

--HG--
extra : rebase_source : 3542b804c3def36fa74541be32d0e7cbc9698641
2017-07-21 17:30:34 -07:00
dmu@mozilla.com
280b27a0fb Bug 1359055 - Part 1: PBO offset for WebGL compressedTexImage; r=baku,jgilbert
MozReview-Commit-ID: LN2diy41A2Z

--HG--
extra : rebase_source : d77ee2b289348e0609bac248dfab670c72623fa0
2017-07-18 18:02:57 +00:00
Chung-Sheng Fu
2077ced147 Bug 1217290 - Refactor WebGL max & min attribute constants for WebGL fingerprinting r=arthuredelstein,daoshengmu,jgilbert
MozReview-Commit-ID: 5fxOdV8euJ0

--HG--
extra : rebase_source : 6c961a6e1bb0bea22ee464b8e166994224170b03
2017-07-27 15:49:46 +08:00
Chung-Sheng Fu
886fe4b600 Bug 1217290 - Refine WebGLContext members r=daoshengmu,jgilbert
MozReview-Commit-ID: BjZCM1ygZ4k

--HG--
extra : rebase_source : eec6bbad8c6e27cb2e2c270194e6f1d50e83d16a
2017-07-27 15:49:21 +08:00
Chung-Sheng Fu
e99b682659 Bug 1217290 - Remove WebGLContext impl members r=daoshengmu,jgilbert
MozReview-Commit-ID: DPrjaf9QHfP

--HG--
extra : rebase_source : 903236ca4a0e0cf76a631188dfa58dc28d7641e4
2017-07-27 15:48:58 +08:00
Chung-Sheng Fu
d361e812da Bug 1217290 - Remove WebGLContext::MinCapabilityMode r=daoshengmu,jgilbert
MozReview-Commit-ID: 8Ggsjm8ReeR

--HG--
extra : rebase_source : f614706333c6ae5b01eab45926f7a949bfddfbe5
2017-07-27 15:48:35 +08:00
Nathan Froyd
c25b06189d 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
2ad398aebc 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
525ef4d843 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
365866b9f5 Bug 1390386 - Add GLContext::mImplicitMakeCurrent. - r=jrmuizel
MozReview-Commit-ID: 5iyGHNzoCpd
2017-08-17 16:15:48 -07:00
Morris Tseng
f3d4ff499f 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
Samuel Vargas
3ca06f7de4 Bug 1376039 - Convert ValidateBlendFuncEnum to static func. r=jgilbert
--HG--
extra : rebase_source : 0f4603d54951436770388b79bcb6e5d4b7782f5e
2017-06-23 17:31:05 -07:00
Samuel Vargas
d7f0c12cd3 Bug 1376039 - WebGL Conformance Failure: deqp/functional/gles3/integerstatequery.html. r=jgilbert
--HG--
extra : rebase_source : b8beba46757c7218d573367be82e162737e4a1c7
2017-06-23 16:19:49 -07:00
Samuel Vargas
f36d75726e Bug 1367919 - Add tracking for data allocation calls in WebGL. r=jgilbert 2017-06-22 14:32:00 -04:00
Kirk Steuber
8c3a82a2d2 Bug 1370727 - Return void from nsICanvasRenderingContextInternal::SetIsOpaque r=bz
nsICanvasRenderingContextInternal::SetIsOpaque returns nsresult, but no implementations return errors. It should return void instead.

MozReview-Commit-ID: LrGouaeoCvo

--HG--
extra : rebase_source : a17432006aa073edaecf15424a3b350309d704c4
2017-06-09 12:15:42 -07:00
Samuel Vargas
901459a071 Bug 1325113 - Implement support for WEBGL_compressed_texture_s3tc_srgb - r=jgilbert,qdot
MozReview-Commit-ID: mI4dlB2lK
2017-06-08 14:54:37 -07:00
Tom Tromey
aa6e054b71 Bug 1334279 - mark vsprintf-likes with MOZ_FORMAT_PRINTF; r=froydnj
This annotates vsprintf-like functions with MOZ_FORMAT_PRINTF.  This may
provide some minimal checking of such calls (the GCC docs say that it
checks for the string for "consistency"); but in any case shouldn't
hurt.

MozReview-Commit-ID: HgnAK1LiorE

--HG--
extra : rebase_source : 9c8d715d6560f89078c26ba3934e52a2b5778b6a
2017-05-04 12:10:19 -06:00
Chih-Yi Leu
69868ff3ef Bug 1355430 - Part2: Implement Require Fastpath for texture copy; r=baku,jgilbert
MozReview-Commit-ID: EPNSJbbJHP4

--HG--
extra : rebase_source : 588225a4113010964341d5cbbefefa06e0c48056
2017-04-11 17:15:25 +08:00
Sebastian Hengst
e4c87ce902 Backed out changeset 661144609b7a (bug 1355430) 2017-04-18 21:08:22 +02:00
Chih-Yi Leu
ca2cb984d5 Bug 1355430 - Part2: Implement Require Fastpath for texture copy; r=baku,jgilbert
MozReview-Commit-ID: EPNSJbbJHP4

--HG--
extra : rebase_source : b27a254e247a40285873b53edb036b5b97d4e0d8
2017-04-11 17:15:25 +08:00