Commit graph

159 commits

Author SHA1 Message Date
Kelsey Gilbert
5362a1dd62 Bug 1449575 - Don't attempt ColorMask elision in WebGL. r=gfx-reviewers,aosmond
* Always use DoColorMask(u32?, u8) in webgl code.
* Handle OES_draw_buffers_indexed ColorMaski in GLBlitHelper.

Differential Revision: https://phabricator.services.mozilla.com/D141543
2022-03-24 19:39:06 +00:00
Jeff Gilbert
fa284e5717 Bug 1726265 - Prototype webgl draft ext OES_draw_buffers_indexed. r=lsalzman,emilio,webidl
Differential Revision: https://phabricator.services.mozilla.com/D122916
2021-08-27 01:47:14 +00:00
Butkovits Atila
477919f37c Backed out changeset a4a346ecefd7 (bug 1726265) for causing failures at test_2_conformance2__extensions__oes-draw-buffers-indexed.html. CLOSED TREE 2021-08-21 01:46:52 +03:00
Jeff Gilbert
28e862be2d Bug 1726265 - Prototype webgl draft ext OES_draw_buffers_indexed. r=lsalzman,emilio
Differential Revision: https://phabricator.services.mozilla.com/D122916
2021-08-20 20:59:54 +00:00
Cosmin Sabou
135d55cd7e Backed out changeset 24e0d3aa4ada (bug 1726265) for causing non-unified build bustage. CLOSED TREE 2021-08-20 04:29:04 +03:00
Jeff Gilbert
df78036187 Bug 1726265 - Prototype webgl draft ext OES_draw_buffers_indexed. r=lsalzman,emilio
Differential Revision: https://phabricator.services.mozilla.com/D122916
2021-08-20 00:05:06 +00:00
Jeff Gilbert
56f57c76a3 Bug 1699077 - Bind framebuffer before DrawBuffers/ReadBuffer selection. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D110489
2021-04-07 18:44:35 +00:00
Jeff Gilbert
39129f8f9d Bug 1696075 - Match spec for webgl sampling feedback detection. r=lsalzman
I lean really hard into using the precise variable names and language
from the spec here. Previously I had more qualitative/descriptive names,
but I found this to mostly cause confusion. When we're up to our waists
in spec edge cases like we are here, descriptive qualitative names can
just be deceptive, and lead to incorrect intuitions.

Differential Revision: https://phabricator.services.mozilla.com/D107016
2021-03-04 03:14:50 +00:00
Jeff Gilbert
bfa84e6b27 Bug 1692617 - Rendering into a miplevel while sampling from a disjoint set of miplevels should be allowed for immutable textures. r=lsalzman
For example, when sampling from miplevel N-1 to render into another miplevel
N.

Differential Revision: https://phabricator.services.mozilla.com/D105083
2021-02-13 09:06:09 +00:00
Sylvestre Ledru
bbb5f8a339 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D98301
2020-12-07 10:17:57 +00:00
Jeff Gilbert
7c18ab1921 Bug 1679052 - Constrain src and dst rects for eldritch blitFramebuffer rects. r=lsalzman
E.g. Blitting 1,1,-1,-1 to 0,2,2,0.
Some drivers have trouble with this.

Primarily tested by:
* conformance2/rendering/blitframebuffer-filter-outofbounds.html
* conformance2/rendering/blitframebuffer-outside-readbuffer.html

Differential Revision: https://phabricator.services.mozilla.com/D97890
2020-11-23 19:54:41 +00:00
Simon Giesecke
971b645fe3 Bug 1660470 - Add missing include directives/forward declarations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D87865
2020-11-23 16:21:38 +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
Imanol Fernandez
9035f18d3a Bug 1614499 - Implement XRWebGLLayer r=jgilbert,daoshengmu
Differential Revision: https://phabricator.services.mozilla.com/D62809

--HG--
extra : moz-landing-system : lando
2020-04-07 18:48:13 +00:00
Simon Giesecke
0cc5c6e63f Bug 1052940 - Make Maybe<T> only declare copy/move operations if T is copyable/movable. r=froydnj,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D68172

--HG--
extra : moz-landing-system : lando
2020-03-27 14:10:45 +00:00
Jeff Gilbert
49926cf5f0 Bug 1617326 - Fix WebGL CTS/conformance2/extensions/* on Windows. r=lsalzman
* Multiview detach shouldn't check for INVALID_VALUE.
* Forbid blitting to multiview.
* GetSamplerParameter(ANISOTROPIC) should work, modulo enabledness.

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

--HG--
extra : moz-landing-system : lando
2020-02-23 04:22:54 +00:00
Razvan Maries
b5b83a0cb5 Backed out changeset e4c9e943a369 (bug 1617326) for Mochitest perma failures on test_2_conformance2__extensions__ext-texture-filter-anisotropic.html. 2020-02-23 01:27:14 +02:00
Jeff Gilbert
cf873c7ace Bug 1617326 - Fix WebGL CTS/conformance2/extensions/* on Windows. r=lsalzman
* Multiview detach shouldn't check for INVALID_VALUE.
* Forbid blitting to multiview.
* GetSamplerParameter(ANISOTROPIC) should work, modulo enabledness.

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

--HG--
extra : moz-landing-system : lando
2020-02-22 20:51:09 +00:00
Jeff Gilbert
441d2d2d6c Bug 1609819 - getParameter(DRAW_BUFFERn): Check with FB not GL. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D60202

--HG--
extra : moz-landing-system : lando
2020-01-17 03:40:19 +00:00
Jeff Gilbert
e1d0fe64bb Bug 1477756 - Client-side bindings mirror for precise CC, and merge similar codepaths. r=handyman
* Context loss using RAII
* Move Program reflection Client-side

Depends on D54018

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

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:16 +00:00
David Parks
198fa063c2 Bug 1477756 - Initial out-of-process WebGL implementation. r=mccr8,handyman
Splits WebGLContext into ClientWebGLContext and HostWebGLContext.  The Client enables the JS-control of a WebGL context in a content procecss while the Host executes the WebGL graphics operations (via a WebGLContext that maintains much of the existing code) in the compositor process.  At this point, the cross-process behavior is disabled -- this series of patches is an incremental step toward that final goal.

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

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:14 +00:00
Greyson Gilbert
20a52c4874 Bug 1564293 - Allow efficient slicewise upload of 3D textures r=jgilbert
Before this patch any partial upload to a texture would incur
a zeroing of the texture first to prevent leakage of information.
The texture now tracks, for each image not fully initialized,
which z-slices have been initialized, and only zeroes the rest
of the slices when the texture is used.

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

--HG--
extra : moz-landing-system : lando
2019-07-30 23:32:29 +00:00
Brindusan Cristian
339a4ceab8 Backed out changeset ac0666e2b27c (bug 1564293) for build bustages on WebGLFramebuffer.cpp:883:26. CLOSED TREE 2019-07-26 12:04:54 +03:00
Greyson Gilbert
a22343ae66 Bug 1564293 - Allow efficient slicewise upload of 3D textures r=jgilbert
Before this patch any partial upload to a texture would incur
a zeroing of the texture first to prevent leakage of information.
The texture now tracks, for each image not fully initialized,
which z-slices have been initialized, and only zeroes the rest
of the slices when the texture is used.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 06:43:02 +00:00
Greyson Gilbert
5ab46fc0a3 Bug 1535809 - Add warning on use of implicitly enabled extensions r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D36431

--HG--
extra : moz-landing-system : lando
2019-07-09 05:21:30 +00:00
Jeff Gilbert
040aa667f4 Bug 1563420 - Don't trigger fb-inval-count warning during resolve. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D36858

--HG--
extra : moz-landing-system : lando
2019-07-04 04:34:45 +00:00
Jeff Gilbert
fd76db7d77 Bug 1559556 - Handle sRGB encode/decode BlitFramebuffer calls on GL<440. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D35121

--HG--
extra : moz-landing-system : lando
2019-06-15 05:18:05 +00:00
Jeff Gilbert
047e98938e Bug 1536672 - Implement WebGL OVR_multiview2 behind draft flag. r=lsalzman,qdot
Also disable clang-format for gfx/gl/GLConsts.h.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 20:48:21 +00:00
Mihai Alexandru Michis
354eec452c Backed out changeset a649f69f29df (bug 1536672) for failing crashtest at WebGLContextValidate.cpp. CLOSED TREE 2019-05-23 10:57:29 +03:00
Jeff Gilbert
fb7050f9bf Bug 1536672 - Implement WebGL OVR_multiview2 behind draft flag. r=lsalzman,qdot
Also disable clang-format for gfx/gl/GLConsts.h.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 02:43:11 +00:00
Ryan Hunt
00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
Jeff Gilbert
d8d7ebde0c Bug 1129354 - Implement draft extension OES_fbo_render_mipmap. r=lsalzman,qdot
Differential Revision: https://phabricator.services.mozilla.com/D20397

--HG--
extra : moz-landing-system : lando
2019-02-22 19:25:20 +00:00
Jeff Gilbert
ac012b5064 Bug 1522018 - Implement webgl draft ext EXT_float_blend. r=lsalzman,qdot
Differential Revision: https://phabricator.services.mozilla.com/D17336

--HG--
rename : dom/canvas/WebGLExtensionBase.cpp => dom/canvas/WebGLExtensions.cpp
extra : moz-landing-system : lando
2019-01-31 23:39:12 +00:00
Jeff Gilbert
b03f03b25b Bug 1523030 - glClear after glBlitFramebuffer with mNeedsFakeNoAlpha. r=lsalzman
glBlitFramebuffer ignores glColorMask, unlike glClear, so we have to do
a fix-up.

Eventually we should drop mNeedsFakeNoAlpha, though.

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

--HG--
extra : moz-landing-system : lando
2019-01-26 00:55:57 +00:00
Jeff Gilbert
bb98ec056b Bug 1521992 - Fix incomplete-fb error for webgl.getParameter. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D17306

--HG--
extra : moz-landing-system : lando
2019-01-23 17:53:43 +00:00
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09: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
Ehsan Akhgari
6099c9f67b Bug 1508472 - Part 1: First batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-27 10:08:58 +00:00
Jeff Gilbert
d568b44c3c Bug 1478216 - Don't init tex images in FBAttachment::IsComplete. r=kvark
Also:
- Only init the base tex level for GenerateMipmap.
- Change ZeroTextureData warning into a perf warning.

Differential Revision: https://phabricator.services.mozilla.com/D9177
2018-10-24 15:59:11 -07:00
Jeff Gilbert
68b0ccbab3 Bug 1372157 - Fix IsFoo results in WebGL. r=kvark
Passes deqp/functional/gles3/lifetime.html.

Differential Revision: https://phabricator.services.mozilla.com/D8956
2018-10-24 13:52:16 -07:00
Gurzau Raul
ff2bc5ca0b Backed out changeset 4b5b1ff23dd7 (bug 1372157) for failing at webgl-conf/generated/test_2_conformance2__vertex_arrays__vertex-array-object.html on a CLOSED TREE 2018-10-24 22:46:34 +03:00
Jeff Gilbert
4f57ad7f07 Bug 1372157 - Fix IsFoo results in WebGL. r=kvark
Passes deqp/functional/gles3/lifetime.html.

Differential Revision: https://phabricator.services.mozilla.com/D8956
2018-10-24 11:30:58 -07:00
Jeff Gilbert
4098f41704 Bug 1498070 - Simplify and cache framebuffer and texture completeness. - r=kvark
Net-removes 700LOC, too!

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

--HG--
extra : moz-landing-system : lando
2018-10-17 04:18:15 +00:00
Jeff Gilbert
b5299cdebb Bug 1478909 - Make funcName implicit for WebGL calls. - r=kvark
MozReview-Commit-ID: Gv77SnHZcGb
2018-08-09 14:35:01 -07:00