Commit Graph

285 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
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
Markus Stange
6686300ea4 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
2018-05-02 11:23:53 -04:00
Boris Zbarsky
44c196b672 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
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
971ba8cec9 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
baaf6bf8da 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
d759448068 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
0e3bc8d156 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
2afc10c3ee 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
37a3954c68 Bug 1444563 - Update stencil front/back mismatch validation. - r=kvark
MozReview-Commit-ID: GyCpJ0a1F9H
2018-03-15 13:39:12 -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
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
88631db929 Bug 1427668 - Special-case lazy glEnable caps. - r=daoshengmu
MozReview-Commit-ID: KD5N2y1U804
2018-01-05 15:27:43 -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
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
Jeff Gilbert
cdb74019d0 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
9e8da4a00c Bug 1425369 - Treat Draw* as Draw*Instanced(1). - r=daoshengmu
MozReview-Commit-ID: KZKNQtCSG4V
2017-12-15 11:43:50 -08:00
Jeff Gilbert
d73f054af9 Bug 1390386 - Add GLContext::mImplicitMakeCurrent. - r=jrmuizel
MozReview-Commit-ID: 5iyGHNzoCpd
2017-11-28 17:12:48 -08: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
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
d4c11d19ec 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
2017-09-15 15:06:56 -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
dmu@mozilla.com
ba8830fa55 Bug 1359055 - Part 1: PBO offset for WebGL compressedTexImage; r=baku,jgilbert
MozReview-Commit-ID: LN2diy41A2Z
2017-07-18 18:02:57 +00:00
Chung-Sheng Fu
77746c69d2 Bug 1217290 - Refactor WebGL max & min attribute constants for WebGL fingerprinting r=arthuredelstein,daoshengmu,jgilbert
MozReview-Commit-ID: 5fxOdV8euJ0
2017-07-27 15:49:46 +08:00
Chung-Sheng Fu
e796461bb4 Bug 1217290 - Refine WebGLContext members r=daoshengmu,jgilbert
MozReview-Commit-ID: BjZCM1ygZ4k
2017-07-27 15:49:21 +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
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
Samuel Vargas
479fa98b78 Bug 1376039 - Convert ValidateBlendFuncEnum to static func. r=jgilbert 2017-06-23 17:31:05 -07:00
Samuel Vargas
ac25028106 Bug 1376039 - WebGL Conformance Failure: deqp/functional/gles3/integerstatequery.html. r=jgilbert 2017-06-23 16:19:49 -07:00
Samuel Vargas
1095089470 Bug 1367919 - Add tracking for data allocation calls in WebGL. r=jgilbert 2017-06-22 14:32:00 -04:00
Kirk Steuber
dc26a712ff 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
2017-06-09 12:15:42 -07:00
Samuel Vargas
a6ad68456b 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
4bb94c4294 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
2017-05-04 12:10:19 -06:00
Chih-Yi Leu
8be833fada Bug 1355430 - Part2: Implement Require Fastpath for texture copy; r=baku,jgilbert
MozReview-Commit-ID: EPNSJbbJHP4
2017-04-11 17:15:25 +08:00
Sebastian Hengst
7c06dca231 Backed out changeset 661144609b7a (bug 1355430) 2017-04-18 21:08:22 +02:00
Chih-Yi Leu
dc8aeb77ac Bug 1355430 - Part2: Implement Require Fastpath for texture copy; r=baku,jgilbert
MozReview-Commit-ID: EPNSJbbJHP4
2017-04-11 17:15:25 +08:00
Jeff Gilbert
ef8acdb9c3 Bug 1355763 - Add gfxAlphaType for specifying opaque/premult/non-premult. - r=daoshengmu
MozReview-Commit-ID: Jzr8aPYlEcO
2017-04-13 09:14:34 -07:00