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

203 Коммитов

Автор SHA1 Сообщение Дата
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
Jeff Gilbert 5108749361 Bug 1333858 - Intersect should be fallible on overflow. - r=daoshengmu
MozReview-Commit-ID: 6lmIKKyXXah
2017-04-04 12:56:21 -07:00
Jeff Gilbert 7bd233bc87 Bug 1329988 - Always use ANGLE's less-slow transpose:true path. - r=kvark
MozReview-Commit-ID: ugVzpBlwCP
2017-02-21 14:33:10 -08:00
Boris Zbarsky 3e7fca5cf9 Bug 1335368 part 9. Stop using IsCallerChrome in WebGL. r=bholley 2017-02-01 15:43:37 -05:00
Jeff Gilbert 4da6480883 Bug 1329815 - GeneratePerfWarning and warn on completed-FB invalidation. - r=kvark
MozReview-Commit-ID: C9J3qdnsaZF
2017-01-17 17:44:56 -08:00
kvark 072ea09cfb Bug 1278199 - Reset viewport offset on SetDimensions and clamp to MAX_VIEWPORT_DIMS. r=jgilbert
--HG--
extra : rebase_source : 553fef64d3d8c04145a1c065c5b4217435a5f114
2017-01-10 14:15:00 -05: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 6cff55278b Bug 1325733 (flattened) - Mark read/draw calls better. - r=daoshengmu
Includes:
* ANGLE needs to call clear twice even on larger targets. - r=daoshengmu
2016-12-29 02:45:13 -08:00
Jeff Gilbert 3f9fc7d30d Bug 1325516 (flattened) - Misc fixes and simplify IMPL_COLOR_READ_FORMAT/TYPE and ensure that we only return valid ones. - r=daoshengmu 2016-12-25 13:44:49 -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
Jeff Gilbert bdc88b3f78 Bug 1324710 - Fix deqp/functional/gles3/negativestateapi.html - r=daoshengmu
MozReview-Commit-ID: 2seTY1tEtvX
2016-12-20 13:20:11 -08:00
Jeff Gilbert a20668b137 Bug 1324604 - Only query IMPLEMENTATION_COLOR_READ_FORMAT/TYPE on actual GLES. (flattened) - r=daoshengmu
MozReview-Commit-ID: 3KFbKZremf2
2016-12-20 13:00:38 -08:00
Jeff Gilbert f7b2bc6226 Bug 1324598 - GENERATE_MIPMAP_HINT isn't queriable in Core Profiles. - r=daoshengmu
MozReview-Commit-ID: 6Z2MPmeFqv
2016-12-20 13:00:20 -08:00
Jeff Gilbert 1f193e4f38 Bug 1320030 - Handle program and shader object deletion differently. - r=ethlin
MozReview-Commit-ID: 4wSZ81lFP6e
2016-12-07 01:35:42 -08:00