Граф коммитов

106 Коммитов

Автор SHA1 Сообщение Дата
Jeff Gilbert aedaf29bc6 Bug 1679693 - Update WebGL 2 to allow drawArraysInstanced with no non-instanced active attribs. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D98112
2020-11-30 18:19:40 +00:00
Narcis Beleuzu 26311e778c Backed out changeset 7137d009d979 (bug 1679693) for webgl2 failure on test_2_conformance2__rendering__instanced-arrays.html. CLOSED TREE 2020-11-29 21:17:11 +02:00
Jeff Gilbert ea9afb914b Bug 1679693 - Update WebGL 2 to allow drawArraysInstanced with no non-instanced active attribs. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D98112
2020-11-29 17:51:10 +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 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 b3e7d58623 Bug 1616457 - Fix failures in conformance/extensions/webgl-draw-buffers. r=lsalzman
We must not check frag output type agreement if colorMask(0,0,0,0).
We must allow drawing with no frag outputs, leaving color values
unchanged. (evidently this is used enough that we spec'd it this way?)

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

--HG--
extra : moz-landing-system : lando
2020-02-19 20:47:30 +00:00
Simon Giesecke 723b05dfb6 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/canvas. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D63142

--HG--
extra : moz-landing-system : lando
2020-02-18 21:08:00 +00:00
Jeff Gilbert 66b0d76979 Bug 1615487 - Don't cache thrashing VAOs to mDrawFetchCache. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63013

--HG--
extra : moz-landing-system : lando
2020-02-16 15:38:25 +00:00
Jeff Gilbert 5a3182940a Bug 1615487 - Make CachedDrawFetchLimits move-only, remove copy. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D63012

--HG--
extra : moz-landing-system : lando
2020-02-16 15:37:35 +00:00
Emilio Cobos Álvarez 8b5f68f4e9 Bug 1608729 - Initialize some variables in WebGLProgram. r=jgilbert
Otherwise GCC warns about the variable being possibly uninitialized, and it's
right if you could ever have a shader with a wrong type.

Depends on D59647

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

--HG--
extra : moz-landing-system : lando
2020-01-13 19:59:47 +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
Emilio Cobos Álvarez 4fad1d2092 Bug 1603843 - Remove work-around for 7+-year-old Mesa bug. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D57166

--HG--
extra : moz-landing-system : lando
2019-12-13 22:12:25 +00:00
Jeff Gilbert 1dfd704692 Bug 1569094 - Optimize cache-miss path in GetDrawFetchLimits. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D39456

--HG--
extra : moz-landing-system : lando
2019-07-26 04:04:08 +00:00
Jeff Gilbert 9561417879 Bug 1541396 - Refactor (non-)transform-feedback binding/use checks. r=lsalzman
* Remove WebGLBuffer::SetSlot
* Make most bindBuffer calls lazy.
* Replace nsTArray with std::vector in WebGLVertexArray.

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

--HG--
extra : moz-landing-system : lando
2019-06-30 01:29:42 +00:00
Jeff Gilbert 07c032ccbd Bug 1319426 - Don't keep ANGLE shader compilers around. r=lsalzman
This will also make it easier if we want to reuse compilers/validators.

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

--HG--
extra : moz-landing-system : lando
2019-06-21 16:52:50 +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
Jeff Gilbert 7c1b76c6a8 Bug 1526027 - Remove webgl.bypass-shader-validation. r=lsalzman
Also remove extra plumbing from WebGLShaderValidator, moved directly
into WebGLShader.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 02:36:57 +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 0005243e88 Bug 1525857 - Add release asserts for pre-crash cases. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D21145

--HG--
extra : moz-landing-system : lando
2019-02-26 02:54:08 +00:00
Jeff Gilbert 8ec455686e Bug 1290774 - Validate frag shader output types match draw buffer types. r=lsalzman
MozReview-Commit-ID: FXQaUzJ0fDy

Differential Revision: https://phabricator.services.mozilla.com/D18611
2019-02-04 14:34:59 -08:00
Cosmin Sabou 5a2318f064 Backed out changeset 58fe5a3d3c40 (bug 1290774) for causing build bustages on WebGLContextDraw. CLOSED TREE 2019-02-01 05:58:38 +02:00
Jeff Gilbert be41632dd0 Bug 1290774 - Validate frag shader output types match draw buffer types. r=lsalzman
MozReview-Commit-ID: HhGKDVWXR1A

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

--HG--
extra : moz-landing-system : lando
2019-02-01 03:33:02 +00:00
Jeff Gilbert 428268f544 Bug 1301803 - Handle context loss during QueryProgramInfo. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D17998

--HG--
extra : moz-landing-system : lando
2019-01-30 03:24:04 +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
Alex Gaynor 6a9c2e7073 Bug 1506179 - rename webgl::AttribBaseType::Bool to Boolean; r=jgilbert
X11.h defines a macro named "Bool", which can cause surprising compile errors due to include order.

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

--HG--
extra : moz-landing-system : lando
2018-11-09 21:38:31 +00: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
Jamie Nicol 68b88d754b Bug 1495857 - Ensure correct vertex attrib array index is output in error message r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D7868

--HG--
extra : moz-landing-system : lando
2018-10-05 19:03:46 +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 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02: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 d6af1e81ba Bug 1404196 - Simplify and repair vertex fetch. - r=daoshengmu
MozReview-Commit-ID: FL7uibuv4VY
2017-11-01 15:18:27 -07: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
Sylvestre Ledru d2ed1163fe Bug 1387002 - Replace .size() by .empty() when applicable in domv/canvas/WebGL* r=kvark
MozReview-Commit-ID: 3lebYmRI8TS

--HG--
extra : rebase_source : f61511c96a43342f9c53b3d90cd958bd7b926fcb
2017-08-03 12:01:38 +02:00
Kartikaya Gupta ba4b3b9101 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

--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
2017-07-26 16:03:57 -04:00
Tom Tromey 9b663e797b Bug 1060419 - make WebGLContextUtils.cpp use VsprintfLiteral, r=froydnj
MozReview-Commit-ID: JhwopeIpUMo

--HG--
extra : rebase_source : 8540864ed969ad038e996b22d78ec3b4f1ba3cb8
2016-12-09 13:48:22 -10:00
Jeff Gilbert 5f768aaee3 Bug 1328559 - Remove assert and update comment.
MozReview-Commit-ID: 3PYzMsqB9MK
2017-01-05 02:00:04 -08:00
Jeff Gilbert b6fd571b9e Bug 1328559 (flattened) - Built-in attribs should have location of -1. - r=daoshengmu
But ANGLE gives back valid >=0 locations!

MozReview-Commit-ID: 9zYiX5BGGud
2017-01-05 01:16:30 -08:00
Jeff Gilbert 63a9df0c54 Bug 1326378 - Infer indexed frag output location from base location on OSX. - r=ethlin
MozReview-Commit-ID: Ar07ZnNhu5d
2017-01-03 21:07:48 -08:00
Jeff Gilbert 61b02e4fd7 Bug 1326159 - Update TF buffer restrictions. - r=daoshengmu
Update conformance2/buffers/bound-buffer-size-change-test.html to top-of-tree 2.0.0.

MozReview-Commit-ID: CgfP70Y0wul
2016-12-30 03:30:13 -08:00
Jeff Gilbert a08f6f998c Bug 1325699 (flattened) - Fix uniform block handling. - r=daoshengmu
Flattened with:
* Handle -1 attrib locations. - r=daoshengmu
2016-12-29 02:47:08 -08:00
Jeff Gilbert 0b065a7b71 Bug 1325301 (flattened) - Validate attribute base types match data base types. - r=bz,daoshengmu
Flattened with:
* Clean up generic vertex attribs. - r=bz,daoshengmu
* Remove EnsureAttrib() and friends. - r=daoshengmu
* Simplify EnumName behavior and usage and add ErrorInvalidEnumArg(). - r=daoshengmu
2016-12-29 02:46:46 -08:00
Jeff Gilbert b669f45f40 Bug 1325486 - TFBufferMode defaults to INTERLEAVED, and UniformMatrix's transpose arg should be passed to GL. - r=daoshengmu
MozReview-Commit-ID: 7yc2u0GQDnr
2016-12-25 13:44:44 -08:00