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

57 Коммитов

Автор SHA1 Сообщение Дата
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
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
Sylvestre Ledru d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
arthur.iakab af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +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
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
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
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
Jeff Gilbert 261d4ed101 Bug 1465964 - Add translated source to MOZ_WEBGL_DUMP_SHADER spew. - r=kvark
MozReview-Commit-ID: BDb64RqX537
2018-06-04 15:05:36 -07:00
Jeff Gilbert d7f00b4cb7 Bug 1440849 - Gecko changes due to Angle update. - r=jrmuizel
MozReview-Commit-ID: LJhesu56ORJ
2018-03-02 13:42:20 -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
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
Samuel Vargas df2c48e657 Bug 1377974 - WEBGL_debug_shaders extension should always be enabled. r=jgilbert
WEBGL_debug_shaders should be allowed if ShouldResistFingerprinting
is on. Mochitests updated to reflect that.

--HG--
extra : rebase_source : 3aa5f2c6f0b8dfd8c9d1e74f810e23922d679eaa
2017-07-18 14:41:00 -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
Chih-Yi Leu 90d0e7f7e9 Bug 1329051 - Remove Old Driver Workaround. r=jgilbert 2017-01-12 19:42:00 +01:00
Jeff Gilbert 2d5f771315 Bug 1325995 - Do our own GLSL char validity checks based on ESSL3 rules. - r=daoshengmu
MozReview-Commit-ID: 60mJqYFTQBA
2017-01-04 00:41:00 -08:00
Jeff Gilbert 43c4b02d0c Bug 1325995 - Rewrite shader comment truncation. - r=daoshengmu
MozReview-Commit-ID: KvgQhxAnDQl
2017-01-04 00:40:58 -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 51d744aa93 Bug 1320030 - Simplify marking and deletion checks. - r=ethlin 2016-12-07 01:35:28 -08:00
Jeff Gilbert 6b423ece44 Bug 1300946 - Implement transform feedback. - r=jrmuizel
MozReview-Commit-ID: 1xrEX4Srij1
2016-09-22 19:13:21 -07:00
JerryShih c801d201b6 Bug 1241042 - remove the original implementation. r=jgilbert 2016-07-18 20:19:04 +08:00
JerryShih b44cfb7256 Bug 1241042 - save frag translated varying names into LinkedProgramInfo. r=jgilbert
Save the frag name info to the LinkedProgramInfo object. Then the fragment shader can be freely detached at any time.
2016-07-18 20:19:04 +08:00
eyim b0ca07b635 Bug 1277027 - fix MOZ_CRASH to have GFX prefix in webGL code r=BenWa,milan
MozReview-Commit-ID: FjLA9xNH3zD

--HG--
extra : rebase_source : 5809a1f8126360b3fa8ee069b3a463747cb31e6f
2016-06-06 11:17:23 -04:00
Ethan Lin 9b0ebddb01 Bug 1241042 - Get correct frag varying from angle validator. r=jmuizelaar 2016-03-14 02:48:00 -04:00
Jeff Muizelaar 303885a832 Bug 1207288. Ask ANGLE for the correct output version. r=jgilbert 2015-12-03 14:37:02 -05:00
Jeff Muizelaar ba14718938 Revert "Bug 1207288. Ask ANGLE for the correct output version. r=jgilbert"
This reverts commit cb6196bdba35
CLOSED TREE
2015-12-02 12:43:00 -05:00
Jeff Muizelaar 6de960ff8d Bug 1207288. Ask ANGLE for the correct output version. r=jgilbert 2015-12-02 10:14:43 -05:00
Andrew Comminos 544dcecc58 Bug 1203135 - Terminate linking if maximum vertex attribute count is exceeded on Mesa. r=jgilbert 2015-11-24 21:27:29 -08:00
Jeff Gilbert 19d84fb0fe Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-24 20:15:29 -08:00
Phil Ringnalda 71a6f5da62 Back out changeset 2f614bcd9405 (bug 1221822) for test_conformance__extensions__ext-sRGB.html and test_webgl2_alpha_luminance.html failures 2015-11-23 21:55:59 -08:00
Jeff Gilbert 87397c265b Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-23 19:27:13 -08:00
Jeff Muizelaar 5c21dbd45c Bug 1218939. Fixup GetTransformFeedbackVarying. r=jgilbert 2015-11-14 10:58:27 -05:00
Jeff Muizelaar d9ae377b3f Bug 1218559. Implement FindUniformBlockByMappedName. r=jgilbert 2015-11-04 13:35:35 -05:00
Jeff Muizelaar c0980e9573 Bug 1218944. Transform feedback linking should use varyings intead of attribs. r=jgilbert 2015-11-04 13:35:35 -05:00
Jeff Gilbert 2e4a1c88ee Bug 1182371 - Misc WebGL cleanup. - r=kamidphish 2015-07-14 17:37:28 -07:00
Dan Glastonbury da00b1f5f9 Bug 1167504 - Part 9: Remove BindableName - Queries. r=jgilbert 2015-06-10 13:52:08 +10:00
Lee Salzman a881708c55 Bug 1156582 - Initialize WebGLShader bools in constructor. r=jgilbert 2015-05-29 19:54:04 -04:00
Dan Glastonbury 4273e0dc68 Bug 1048724 - Sort out Transform Feedback Varyings. r=jgilbert 2015-04-25 08:26:50 +10:00
Dan Glastonbury 5893d8a315 Bug 1048747 - Cleanup how uniform interface blocks are handled. r=jgilbert 2015-04-21 15:38:30 +10:00
Boris Zbarsky dc24477d79 Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp.  The
rest of this diff was generated by running the following commands:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Jeff Gilbert 625fccbb86 Bug 1109945 - Rewrite shader/program handling. - r=kamidphish 2015-01-15 15:40:39 -08:00