Commit graph

216 commits

Author SHA1 Message Date
Butkovits Atila
c5dac06788 Backed out changeset 45887183c584 (bug 1715690) for causing failures at SanitizeRenderer. CLOSED TREE 2021-06-12 04:12:18 +03:00
Jeff Gilbert
de085c82e3 Bug 1715690 - Generalize WebGL RENDERER into large buckets. r=lsalzman
+ Minor reduction in unused flexibility of limits.

Differential Revision: https://phabricator.services.mozilla.com/D117385
2021-06-11 23:54:39 +00:00
Iulian Moraru
6dd0299bc3 Backed out changeset 67b696ec70a9 (bug 1715690) for causing build bustages on SanitizeRenderer.cpp. CLOSED TREE 2021-06-11 02:46:23 +03:00
Jeff Gilbert
22fa9e93cf Bug 1715690 - Generalize WebGL RENDERER into large buckets. r=lsalzman
+ Minor reduction in unused flexibility of limits.

Differential Revision: https://phabricator.services.mozilla.com/D117385
2021-06-10 22:55:50 +00:00
Jeff Gilbert
47dcac63b7 Bug 1638568 - E.g. uniform1i(null, ...) should check avail len not total len. r=lsalzman
Also:
* Propagate null-location UniformDatas to host
* Move transpose validation to host-side

Differential Revision: https://phabricator.services.mozilla.com/D98243
2020-11-30 22:00:23 +00:00
Jeff Gilbert
860e935ec8 Bug 1663214 - Explain what format/types ReadPixels expects. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D92500
2020-10-06 19:02:58 +00:00
Jeff Gilbert
e3e331e9ad Bug 1658433 - Implement WebGL draft extension EXT_texture_norm16. r=lsalzman,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D86630
2020-08-12 15:19:17 +00:00
Jeff Gilbert
f25a4cdbe8 Bug 1607940 - IPC TexImage. r=lsalzman,nika,handyman
Differential Revision: https://phabricator.services.mozilla.com/D83291
2020-07-21 22:57:01 +00:00
Jeff Gilbert
35f892e782 Bug 1607940 - Stand up webgl.out-of-process:true path. r=handyman,nika,froydnj
* Use clearer pref names.
* Default (and only support) IPDL dispatching.
* Make DispatchCommands async-only.
* Sync ipdl command per sync webgl entrypoint.
  * Eat the boilerplate cost, since there's not too many.
* Run SerializedSize off same path as Serialize.
* All shmem uploads go through normal DispatchCommands.
* Defer pruning of dead code for now so we can iterate quickly.
* Use Read/Write(begin,end) instead of (begin,size).
  * This would have prevented a bug where we read/wrote N*sizeof(T)*sizeof(T).

Differential Revision: https://phabricator.services.mozilla.com/D81495
2020-07-21 22:56:52 +00:00
Jeff Gilbert
aa48742190 Bug 1636517 - When detaching a webgl fb attachment, reset params to defaults. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D77177
2020-05-27 22:51:40 +00:00
Imanol Fernandez
0806eab98a Bug 1631823 - Disable XRWebGLLayer antialias by default on WebGL 2. Add support to enable behind a pref. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D71782
2020-04-27 18:03:03 +00:00
nicolaspacheco
9ac972aca4 Bug 1626776 - Delete redundant return statement at the end of a function with a void return type. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D70144

--HG--
extra : moz-landing-system : lando
2020-04-08 03:36:00 +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
Jeff Gilbert
91ab854fc8 Bug 1617785 - Optimize GetDrawFetchLimits and vertexAttribPointer. r=lsalzman
Our goal here is to just be fast enough that we don't need to cache.

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

--HG--
extra : moz-landing-system : lando
2020-02-26 00:44:26 +00:00
Jeff Gilbert
1abd55a851 Bug 1616715 - Make ReadPixelDesc per-call. r=lsalzman
GetSurfaceSnapshot (and similar) want to ReadPixels the backbuffer,
without having to navigate the GL PIXEL_PACK state.
Since this is cold cold code, it's nice to reduce the backend state by
making ReadPixelsDesc/PixelPackState per-call, and tracked by the
client. Arguably, PIXEL_PACK_BUFFER should be per-call as well.

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

--HG--
extra : moz-landing-system : lando
2020-02-21 03:12:41 +00:00
Viresh Gupta
96552e75e7 Bug 1612981 - Remove MatrixAxBToRowMajor r=jgilbert
Remove unused code from dom/canvas/WebGLContextGL.cpp

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

--HG--
extra : moz-landing-system : lando
2020-02-11 01:11:27 +00:00
Jeff Gilbert
0dfd1a2a0d Bug 1477756 - Fix all webgl regression tests according to CI. r=handyman
(This is a combination of 31 commits)

* Fix Linux compilation.

* Fix mac compilation.

* CI compile fixes.

* printf's size_t is %zu. %tu would be unsigned ptrdiff_t.

* No non-ref Maybe args.

* MOZ_CRASH for noreturn

* Handle implied texture sizes, rewrite comment stripping.

* Replace e.g. WebGLProgramInner with simpler webgl::ProgramKeepAlive.

* Bounce ValidateProgram call off driver.

* Uniform name length limit, cubemap fb-attach, non-array uniforms, undersized texImage views.

* alignas for uint8_t[sizeof(float)*N] pun buffers.

* CC fixes?

* Fill attrib0Active.

* Repair max-warnings limit.

* This is basically required in order for CI's logging to not explode.

* Don't cache WebGLMemoryTracker.

* Deleted prog/shader error, no texSubImage(null), client-side fingerprint resist for exts.

* Fix GetUniformIndices and MakeRangeFromView.

* CC Traverse base class from within derived class to fix leaking the world. :(

* PauseTransformFeedback
* TexImage video fastpath
* GetFragLocation for arrays
* Forbid BindBufferRange during TF

* Mark tests and fix RBAB query and test.

* Change(!) query deletion behavior to match spec.
* Mark conformance2/query/query.html failing for now.

* Implicitly EndQuery on DeleteQuery while spec is in flux.

* Fix error code for test.

* RAII LruPosition for WebGL context limit.

* Include std::list.

* Mark CompileResult and LinkResult.pending as false when retrieved.

* Hold strong-ref to NotLostData during Run<> to prevent LoseContext=>UAF.

* Don't assume GetUniformLocation(foo+'[0]') means foo is an array.
* Don't assume !mCanvasElement means !!mOffscreenCanvas.

* Handle composition while context-lost.

* All non-value-init members must be const or have inline init.

* Mark passing tests on Linux.

Depends on D54019

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

--HG--
extra : moz-landing-system : lando
2020-01-08 22:19:23 +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
Chris Peterson
406763af7f Bug 1570499 - Part 1: Replace MOZ_FALLTHROUGH macro with C++17's [[fallthrough]] attribute. r=froydnj
This changeset is a simple find and replace of `MOZ_FALLTHROUGH` and `[[fallthrough]]`.

Unfortunately, the MOZ_FALLTHROUGH_ASSERT macro (to assert on case fallthrough in debug builds) is still necessary after switching from [[clang::fallthrough]] to [[fallthrough]] because:

* MOZ_ASSERT(false) followed by [[fallthrough]] triggers a -Wunreachable-code warning in DEBUG builds
* but MOZ_ASSERT(false) without [[fallthrough]] triggers a -Wimplicit-fallthrough warning in NDEBUG builds.

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

--HG--
extra : moz-landing-system : lando
2019-12-20 07:16:43 +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
jgilbert@mozilla.com
a5ef1cc2e1 Bug 1372177 - ArrayBufferView error enum depends on func. r=lsalzman
MozReview-Commit-ID: 34X7yTEE3Ia

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

--HG--
extra : moz-landing-system : lando
2019-02-02 10:04:43 +00:00
Jeff Gilbert
aed7c05c6c Bug 1521994 - ReadPixels with half-float ext should support FLOAT. r=lsalzman
MozReview-Commit-ID: ZjVnkJLJrl

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

--HG--
extra : moz-landing-system : lando
2019-01-31 19:18:09 +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
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01: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
13e2d73059 Bug 1492580 - Repair CONTEXT_LOST handling. r=lsalzman
Simplify error handling in GLContext.
Modernize context loss handling in GLContext.
Remove various unused parts.
Fix WebGLContext's context loss/restoration.

MozReview-Commit-ID: Lu2hi5HnP8x

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

--HG--
extra : moz-landing-system : lando
2018-11-27 04:23:19 +00: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
Dorel Luca
5ef9c6f716 Backed out changeset e8023a02b6c2 (bug 1478909) on dev's request 2018-08-09 04:58:04 +03:00
Jeff Gilbert
8e0436b208 Bug 1478909 - Make funcName implicit for WebGL calls. - r=kvark
MozReview-Commit-ID: Gv77SnHZcGb
2018-08-08 16:15:12 -07: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
93dacf53b5 Bug 1425488 - Reset last fenceId on write to buffers. - r=lenzak
MozReview-Commit-ID: HwPpGWKNA9W
2017-12-20 18:15:12 -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
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
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
JerryShih
5309fc0478 Bug 1372490 - GetError() returns GL_CONTEXT_LOST not GL_CONTEXT_LOST_WEBGL. r=jgilbert
MozReview-Commit-ID: KYr0cKoeWJo
2017-06-15 14:43:53 +08: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