Commit graph

143 commits

Author SHA1 Message Date
Imanol Fernandez
08d3ad7c92 servo: Merge #18221 - Use FnvHashMap in WebGL implementation (from MortimerGoro:webgl_fnv); r=jdm
<!-- Please describe your changes on the following line: -->

Follow up from the WebGL redesign: https://github.com/servo/servo/pull/17891

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4598ddb0bcf62aa2ec54d896a67eae20db4588c0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ae0f3f7bedbe4a6d2313cc3e0120a347b597d91c
2017-08-24 16:25:53 -05:00
Imanol Fernandez
f3997afd56 servo: Merge #18177 - Implement WebGL OES_standard_derivatives extension (from MortimerGoro:oes_standard_derivatives); r=emilio
<!-- Please describe your changes on the following line: -->

Implement WebGL OES_standard_derivatives extension. Some Three.js 3D models fail to render because of the lack of this extension.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 85e6f6f7cc7edc961e246d8ac50b8dc18b0b2617

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 036190acbbd88fc6ab2b70eee56c922ed76f03a1
2017-08-22 17:45:00 -05:00
Imanol Fernandez
cd22b88096 servo: Merge #18127 - Fix bound textures and framebuffers when a WebGL Canvas is resized (from MortimerGoro:webgl_bind_tex2d); r=emilio
<!-- Please describe your changes on the following line: -->

Fix bound textures and framebuffers when a WebGL Canvas is resized. This causes some invisible textures in WebGL based games.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e23ae30489886872f5339f0ed38fce88bc6f8ec6

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 104c546b6858f77226e4204dc1bc1a439160456d
2017-08-17 14:06:10 -05:00
Anthony Ramine
8a8c2c50b0 servo: Merge #18118 - Revert "Auto merge of #18114 - emilio:revert-webgl-refactor, r=nox" (from servo:oops-webgl); r=emilio
This reverts commit 4d10d39e8fe841c5fe2ac58da2daaa13c10c140e, reversing
changes made to ee94e2b7c0bd327abe8f9545b2a1f792f67a2bdd.

Source-Repo: https://github.com/servo/servo
Source-Revision: fbabcaf614662a52eace21a64f27802c7eff4304

--HG--
rename : servo/tests/unit/style/rule_tree/mod.rs => servo/components/canvas/webgl_mode/mod.rs
rename : servo/components/canvas_traits/lib.rs => servo/components/canvas_traits/canvas.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 921107267937fee7e9f6887bc9a7d129ff9af9f2
2017-08-17 00:26:08 -05:00
Emilio Cobos Álvarez
63addaeaca servo: Merge #18114 - Revert "Auto merge of #17891 - MortimerGoro:webgl_move, r=glennw,emilio" (from emilio:revert-webgl-refactor); r=nox
This reverts commit 90f55ea4580e2a15f7d70d0491444f18b972d450, reversing
changes made to 2e60b27a2186a8cba4b952960155dfcf3f47d7db.

Doing that per Josh's request, since it's causing very frequent intermittent OOMs on the android builders.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4d10d39e8fe841c5fe2ac58da2daaa13c10c140e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 0474db248269e8cf2b094bfa04e32701137c46c8
2017-08-16 09:45:13 -05:00
Imanol Fernandez
e89d06f1c7 servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio
<!-- Please describe your changes on the following line: -->

Info about the big picture and the goals of the WebGL refactor in this thread: https://groups.google.com/forum/#!topic/mozilla.dev.servo/0WMGz60kKzQ

I tried to reduce this PR as much as possible as requested in the thread. I'll do separate PRs for other features (e.g.: Batch messages or use shared memory to improve frame times) or fixes.

Some tips to ease the review process:
- Most changes in DOM objects follow the same pattern (remove CanvasMsg wrapper and use the new sender method).
- WebGLCommands are the same ones as before (moved from webrender_api). So those lines are already reviewed.
- See WebGL traits in [components/canvas_traits/webgl.rs](https://github.com/servo/servo/pull/17891/files#diff-8701045d01505418701d0631d4d45562)
- See WebGLThread and WR External Image bridge in [components/canvas/webgl_thread.rs](https://github.com/servo/servo/pull/17891/files#diff-281554879f39a2a041f7a69d442a5d2e)
- The implementation submitted in this PR creates a single `WebGLThread` for all ScriptThread/Pipelines. See that in [components/canvas/webgl_mode/inprocess.rs](https://github.com/servo/servo/pull/17891/files#diff-250070c6c5a38c7f9fa0f5b3c101f68b)

The conformance tests will help to guarantee that we don't miss anything.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 90f55ea4580e2a15f7d70d0491444f18b972d450

--HG--
rename : servo/tests/unit/style/rule_tree/mod.rs => servo/components/canvas/webgl_mode/mod.rs
rename : servo/components/canvas_traits/lib.rs => servo/components/canvas_traits/canvas.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d476816b29986c4abfd61ff3c7b46aa189f2f50a
2017-08-15 16:00:10 -05:00
Simon Sapin
ea9c8db790 servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d9b82b9efa7b10a2e34d93df5ac535d99518f7a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e1b3d113c3edaea3c4c07f8b206f2e02922e3caf
2017-08-15 07:31:04 -05:00
Paul Rouget
633c2172a9 servo: Merge #17425 - cleanup embedder/compositor/constellation/script messages (from paulrouget:attach-pipeline-2); r=asajeffrey
Fix: #17226 #17200 #17201

This is work in progress. Some tests still fail.
I'd like to get early feedback as it's a pretty large PR.

There is nothing fundamentally new. Basically, I added TopLevelBrowsingContrextId to the relevant messages between the embedder, the compositor and the constellation, and enforced the PipelineId to be attached to each ScriptMsg (see #17201).

I unaliased all the ScriptMsg. It was getting difficult to understand the nature of the message as ScriptMsg was used aliased CompositorMsg sometimes (CompositorMsg is an actually type of message already). I renamed constellation_chan to script_to_constellation_chan, again, for clarification.

This cleanup code is necessary for #15934 and for tabs support.

/cc @asajeffrey can I ask you to look at this? No need for a formal review, I need feedback at this stage.

Source-Repo: https://github.com/servo/servo
Source-Revision: 74558990b258cb55f230ebe8ec3fc557fd286f94

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e254fc37d5b07b98c035873e2269f89acb3fafa0
2017-08-15 02:20:10 -05:00
Martin Robinson
d42609fdf5 servo: Merge #17694 - Upgrade to the latest version of WebRender (from glennw:webrender-update); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 173181a491f18a292ea80acbc25dd561e6e678d8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e76e3e725e124e01505676aedcf0d8f6e7d67971
2017-07-12 21:52:27 -07:00
Simon Sapin
f2e4fa0a56 servo: Merge #17390 - Untry (from servo:untry); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 568ab550053fddf346806ed6cc2d3bfe37f3e1d0

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2d258d6f281ff628b88311d2f4523bed29e60ff3
2017-06-18 05:55:11 -07:00
Glenn Watson
2865a9e008 servo: Merge #17352 - Update WR (CPU text optimizations, image format renames) (from glennw:update-wr-faster-text); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e1bce241291683ee61abab042d0c808ae5396e91

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 38f0d8ec39b0377ce568d0877e0939fafe27d0d1
2017-06-16 01:21:05 -07:00
Nicolas Silva
01a59cb89e servo: Merge #17184 - Bump euclid to 0.14.x (from nical:euclid-bump); r=SimonSapin
- [x] `./mach build -d` does not report any errors (kinda, need webrender published and Cargo.toml fixed up)
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it is a refactoring in which the difference is mostly a compile-time/strong-typing thing with no change to the logic.

Source-Repo: https://github.com/servo/servo
Source-Revision: 18653f69581693a5bae1ce4e350e78bc16159b08

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ed1f193620a8c5ebbb70eea337bd519dfc5c18a1
2017-06-14 07:25:05 -07:00
Alan Jeffrey
09b4fb4994 servo: Merge #17193 - Count number of braces on a line when checking spec links in test-tidy (from asajeffrey:test-tidy-brace-count); r=jdm
<!-- Please describe your changes on the following line: -->

Allow more than one brace per line when checking spec links in test-tidy.

We had problems caused  by `if unsafe { ... } {`.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes have tests.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 07b0770d21d2b374f9a30c98cdde5ae5531aaecb

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 704217fae2967508dd9fb049ba7af111df18c1f9
2017-06-07 15:36:36 -07:00
Benjamin Dahse
1cc7429f72 servo: Merge #17189 - Add pref to force WebGL context creation failure (from bd339:iss17038); r=emilio
<!-- Please describe your changes on the following line: -->
Introduces the pref `webgl.testing.context_creation_error`, to force creation of a new WebGLRenderingContext to fail.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #17038 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 3db7f5d556d85ff6af9bb81f693a2c65e6e791fa

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 19078df81cf2bd36ab232a25d7c68976ffc7c673
2017-06-07 02:27:29 -07:00
SendilKumar N
92c02c5452 servo: Merge #16913 - Make canvas origin clean checks use origin of image response (from jdm:canvas2d); r=jdm
Adapted from #15887.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15409
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 62690887c163332688add2b1e62bb4c12b2e7df4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4103a8f020691ef300e5651cb8da59bf61b42c69
2017-05-19 10:45:44 -05:00
Imanol Fernandez
6e335dd92c servo: Merge #16893 - Implement WebGL extensions (from MortimerGoro:webgl_extensions); r=emilio
<!-- Please describe your changes on the following line: -->

This PR provides the base for implementing WebGL extensions. It comes with the following ones already implemented and passing all related WebGL conformance tests:

- OES_texture_float
- OES_texture_float_linear
- OES_texture_half_float
- OES_texture_half_float_linear
- OES_vertex_array_object

I'll submit other extensions like compressed textures in a separate PR to ease the review process. I included the 5 extensions in this PR because it's easier to show/review how the WebGL extension base works.

To pass all OES_texture_float_xxx tests I had to add some missing format conversions in WebGLRenderingContext.rs

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: b0976566fb9c79f7dc67b2ac808eb50ef4ad653f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e829ac1c4a43670d9931be4fafa4572d0c527210
2017-05-19 01:09:48 -05:00
Imanol Fernandez
9031296725 servo: Merge #16590 - Fix WebGL premultiplied alpha. Fix texImage2D calls with RGB images (from MortimerGoro:texture_rgb); r=emilio
Fix WebGL premultiplied alpha testcases.

Fix broken textures in some WebGL demos (e.g. Three.js). This was caused by WebGL::texImage2D calls with RGB formats. Alpha must be removed from the rgba8 pixel vector before submitting the data to the GPU.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 3b516af7835e917d279e45d986d18ec22a67ece9

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : aaec901f5906a9736bb4b5308a16658e22c7392f
2017-04-28 07:12:05 -05:00
Imanol Fernandez
2051679921 servo: Merge #16544 - Implement WebGL::GetShaderPrecisionFormat (from MortimerGoro:get_shader_precision_format); r=jdm
<!-- Please describe your changes on the following line: -->

Implement WebGL::GetShaderPrecisionFormat. See https://github.com/servo/gleam/pull/119 && https://github.com/servo/webrender/pull/1127

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #13985 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 1661ae6cf40df574853a822164d36f8d791c646a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 639cc715b13e2ef0d2a920e53b8c055933bed73a
2017-04-21 15:16:07 -05:00
coalman
3fa74a14ad servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio
…so with proper alignment.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [X] These changes fix #16486 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 195100f3cac99b979e25157eb437e63bd3262e6f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f340388b3b70f620cbfba6d216955d3ef23b7cb
2017-04-19 03:06:31 -05:00
Fernando Jiménez Moreno
b7749d2ddf servo: Merge #16048 - Make image cache per-document rather than global (from ferjm:issue-15701-image-cache); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15701.
- [X] These changes do not require new tests because there should already be WPTs for image loads.

Source-Repo: https://github.com/servo/servo
Source-Revision: c85a02b14431ce775024d8a8dae9d3e727dedfc4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 795b94666dc18a53ce2d75ef1a5279c76e04a3c7
2017-03-27 13:50:46 -07:00
Anthony Ramine
be2b512750 servo: Merge #15715 - Make #[dom_struct] a proc_macro attribute (from nox:custom-derive); r=SimonSapin
The rustup is needed for https://github.com/rust-lang/rust/pull/40039.

Source-Repo: https://github.com/servo/servo
Source-Revision: a204c4176dcccdad8ec99d74055c66794c3f64ba

--HG--
rename : servo/components/domobject_derive/Cargo.toml => servo/components/dom_struct/Cargo.toml
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2cad140c3d6b99837f0bd15a6f3ccba0f353e049
2017-02-24 05:56:30 -08:00
Sam Liu
149508793b servo: Merge #15653 - Cleanup arraybufferview type (from samliu:cleanup_arraybufferview_type); r=cbrewster
<!-- Please describe your changes on the following line: -->
Replace uses of spidermonkey-specific JS_GetArrayBufferViewType with ArrayBufferView impl's method get_array_type().

Tests pass:
./mach test-wpt tests/wpt/web-platform-tests/WebCrypto
./mach test-wpt tests/wpt/web-platform-tests/webgl

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #15605 (github issue number if applicable).
- [x] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 907c1ef3d280269b5fe87a67759411ab2f938a72

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 186ac6f4f13d2dacd6825a11318af70ea59dad98
2017-02-21 06:54:30 -08:00
Josh Matthews
b56b27ec80 servo: Merge #15352 - Rewrite WebGLRenderingContext to use typed array APIs (from jdm:Rewrite-WebGLRenderingContext-to-use-typed-array-APIs); r=jdm
Rewrite WebGLRenderingContext to use typed array APIs. Based on #15267.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14676
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 62ddc627c899c317ec66d8faec78c0cee186bc38

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7e3ee8b7cab33d3a870c19193d359185237760f8
2017-02-10 13:57:35 -08:00
Eric Anholt
99d6112182 servo: Merge #15122 - webgl: premultiplication, y flipping, and format conversion (from anholt:webgl-premultiply); r=emilio
<!-- Please describe your changes on the following line: -->
This series implements a bunch of the texture unpack path features for WebGL.  There are known issues with big-endian systems noted in the comments, but I don't know of a clean way to cast from `Vec<u16>` to `Vec<u8>` (which, if we had one, would make this code much cleaner anyway).

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 536c0d74994bf8b5eaef3f64247753d75ba7baab

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c7451e83a882c0e67e80c480b240d0761e2ba106
2017-02-03 06:59:11 -08:00
ioctaptceb
d6124c7d01 servo: Merge #14924 - Webgl blend func tests (from ioctaptceb:webgl-blendFunc-tests); r=jdm
<!-- Please describe your changes on the following line: -->
Add a function that validates the conditions for [Constant Color Blend](https://www.khronos.org/registry/webgl/specs/latest/1.0/#CONSTANT_COLOR_BLEND) in the WebGL specs. ./mach run -r tests/wpt/web-platform-tests/webgl/conformance-1.0.3/conformance/misc/webgl-specific.html

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 783829eccc44e1c239a4d1aa807b000b755eeea6
2017-01-11 13:23:08 -08:00
Eric Anholt
eaf4d76084 servo: Merge #14847 - webgl: implement bufferData (from anholt:webgl-bufferdata); r=emilio
<!-- Please describe your changes on the following line: -->

Adds support for the other overload of bufferData, fixing many conformance tests.  In the process I had to fix the webidl codegen in the overload-distinguished-by-an-object case.  Also includes a little fix for glEnable() validation.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 4216c16879efb6e87b3ba3b7b4d5c2aeb8e2739d
2017-01-05 02:11:29 -08:00
Eric Anholt
fe6309141e servo: Merge #14809 - webgl: Validate enums for blendEquation (from anholt:webgl-blend-enums); r=emilio
Improves a conformance test that tried passing in desktop GL enums for
blending.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: b29b33c84c366e38bbb0d2e887469f814bc4d876
2016-12-31 14:21:20 -08:00
Ms2ger
195cdbea61 servo: Merge #11672 - Make the dom module private (from Ms2ger:dom); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c0f31e9fdf924e486ca7d0c8f14c4a027f0a5b3
2016-12-22 07:51:48 -08:00
Anthony Ramine
3b06404d3b servo: Merge #14557 - Improve safety or our tracing architecture (from nox:trace); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 87f7b29d65d8a0ad137e38412aef50734b24ea6c
2016-12-12 20:34:51 -08:00
Corey Farwell
b429779be4 servo: Merge #14495 - Rename Reflectable to DomObject (from frewsxcv:reflectable-domobject); r=jdm
Fixes https://github.com/servo/servo/issues/8473.

Source-Repo: https://github.com/servo/servo
Source-Revision: b192ae9db7082346a4a6a985c5557d4cea75d50e
2016-12-08 12:41:08 -08:00
Imanol Fernandez
bf25e810b6 servo: Merge #14075 - Implement WebGLContext resize (from MortimerGoro:webgl-resize); r=MortimerGoro
<!-- Please describe your changes on the following line: -->

Related PR: https://github.com/servo/webrender/pull/519

Implement WebGLContext resize (canvas.width & canvas.height). I have tested:

- Fixes WebGL apps that initialize canvas size after calling canvas.getContext("webgl")
- Support WebGL apps that change the canvas size & viewport on window.onresize

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 94eefc4001e0998fcea5a35943da73624ea82b13
2016-12-01 03:04:49 -08:00
Anthony Ramine
8a68e5aa5a servo: Merge #14376 - Make WebIDL static items take a more specific global if possible (from nox:specialized-constructors); r=KiChjang,nox
Source-Repo: https://github.com/servo/servo
Source-Revision: e315da07319c115bd85f7da1baa1cf0577a1980b
2016-11-30 15:43:48 -08:00
Glenn Watson
208596903e servo: Merge #14286 - Update to webrender 0.10.0 (from gterzian:update_canvas_with_offscreen_context); r=jdm
<!-- Please describe your changes on the following line: -->

Changes necessary to build servor with webrender 0.10.0

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e1eff691f8a1d8c9c7ab33344364f0419626b80e
2016-11-24 12:29:52 -08:00
Abelardo E. Mendoza
7269bcf046 servo: Merge #14096 - 11485 make dom methods taking mut js content unsafe (from fflorent:11485-make-dom-methods-taking-mut-JSContent-unsafe); r=nox
This is a rebased version of PR #11595

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #11485

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because: no code logic was changed

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f70fc6644ddb142627c188ebbde2cc0a0282f9b4
2016-11-17 02:44:54 -06:00
Eric Anholt
ebe823e990 servo: Merge #14081 - webgl: out-of-bounds readPixels() fixes (from anholt:webgl-readpix-negative-width); r=emilio
<!-- Please describe your changes on the following line: -->
Fix crashes in two WebGL readPixels() tests by adding framebuffer size validation.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13901

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2601d8eb8b5988f1f72a2449b904a75f5dab0c59
2016-11-09 10:03:42 -06:00
Eric Anholt
bf218ec238 servo: Merge #13872 - webgl: Add basic support for framebuffer attachments (from anholt:webgl-fbo); r=emilio
This is by no means a complete implementation, but I've slowed down on working on it, so I think we should look at what it takes to merge the current code.  There are some major features missing, like initializing renderbuffers to 0 (uninitialized memory leak), tracking the attachments' attributes (width/height/format) for parameter requests, and lots of missing glCheckFramebufferStatus() validation.  On the other hand, this is enough to run some demos using FBOs.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13639 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fbec79e920c0b0ddeaeeb6c0cc97b20ad85729e0
2016-10-27 21:39:15 -05:00
Eric Anholt
cd7abec72d servo: Merge #13898 - webgl: texture size validation fixes (from anholt:webgl-texture-fixes); r=emilio
<!-- Please describe your changes on the following line: -->
This pull request fixes the errors in texture-size-limit.html.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: f3973a0d3b2d12c96d0f21624fd0d6d925f34abb
2016-10-24 00:52:57 -05:00
Anthony Ramine
cf69fd522f servo: Merge #13647 - Unify all rooting traits under RootedReference (from nox:rootedreference); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: cf2a6475cb3d7d98b925e7a235ebf36f6abe883d
2016-10-11 17:00:55 -05:00
Eric Anholt
364e976b00 servo: Merge #13665 - webgl: Implement uniformMatrix*fv (from anholt:webgl-uniform-matrix-v); r=emilio
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

These new functions are derived from the existing uniform*fv
functions.  They get used in a lot of demo code, so it should greatly
improve our compatibility.

This regresses uniformMatrixBadArgs.html, which gets at an existing
problem in our uniform matrix support (failure to validate
that the uniform is a matrix before calling down) but previously just
failed because it only called the 'fv' variants and never the existing
'f' variants.

Source-Repo: https://github.com/servo/servo
Source-Revision: aab9d61025fe72bdcb37f13c9cc53b787a636036
2016-10-10 03:15:10 -05:00
Emilio Cobos Álvarez
fe65f0f44d servo: Merge #13305 - WebGL IDL and correctness (from emilio:webgl-idl); r=nox,KiChjang
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

This is a change set with multiple intentions:
 * Be correct.
 * Unlock tests that are blocking @anholt.
 * Ease the transition to typed arrays once the changes by @Ms2ger start rolling
   in, since I expect the amount of test expectations to update to be
   non-trivial.

I expect having it to run on try a few times, but... r? @nox or @KiChjang

Source-Repo: https://github.com/servo/servo
Source-Revision: ddff5ce2eb635ff1c51ed7fee2d33e890c541221
2016-10-09 06:26:06 -05:00
Anthony Ramine
b95407a112 servo: Merge #13596 - Get rid of dom::bindings::global (from nox:inline); r=Ms2ger
Globals in that PR are now represented by the fake IDL interface `GlobalScope`.

Source-Repo: https://github.com/servo/servo
Source-Revision: a6e4b5bb86ad707a0863acff87344ca4239cfd2c

--HG--
rename : servo/components/script/dom/webidls/ServoXMLParser.webidl => servo/components/script/dom/webidls/GlobalScope.webidl
2016-10-07 07:52:09 -05:00
Imanol Fernandez
fa1ea9c973 servo: Merge #13208 - Fix WebGL tests & Implement WebGLRenderingContext::{validateProgram, getProgramInfoLog, disableVertexAttribArray} (from MortimerGoro:programinfolog); r=emilio
<!-- Please describe your changes on the following line: -->
Implement WebGLRenderingContext::{validateProgram, getProgramInfoLog} and improve WebGL testcase to show shader link and validation errors.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13199 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fc251384a76547167c027d69c28deae8c410c626
2016-10-03 16:54:51 -05:00
Ofek
975aea7d1e servo: Merge #13337 - Implement WebGLRenderingContext::isEnabled (from ofekd:implement-webgl-isEnabled); r=emilio
Implemented WebGLRenderingContext::isEnabled

- Please note the return value of the implementation, not sure about returning `false` on `InvalidEnum`.
- the `webgl/conformance-1.0.3/conformance/state/gl-enable-enum-test.html` wpt test is disabled on linux but was enabled on my machine and run to validate expectations.
- the `/webgl/conformance-1.0.3/conformance/context/methods.html` test is disabled everywhere. Enabling and running on my machine showed incorrect expectations beyond `isEnabled`. The test was temporarily edited to test just for `isEnabled` and it ran successfully.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13040

- [X] There are tests for these changes (please read details above)
- [ ] These changes do not require tests because _____

Source-Repo: https://github.com/servo/servo
Source-Revision: f09595e8af6cd480238d29559579434d94f868cc
2016-09-22 11:05:55 -05:00
Glenn Watson
93c1ffc0ec servo: Merge #13309 - webgl: FBO support preparation (from anholt:webgl-fbo-prep); r=emilio
<!-- Please describe your changes on the following line: -->
Sending this PR now so that we can get the webrender patches merged.  This is prep for the webgl-fbo series, with one small fix for some conformance tests.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7c0dfd07ad5149406b389ca893d51f6fa442e98e
2016-09-20 19:19:21 -05:00
UK992
f8cb9971b7 servo: Merge #13205 - Tidy: Fix ordering use statements with braces (from UK992:tidy-sort); r=Wafflespeanut
This hack fixes https://github.com/servo/servo/issues/7412 and matches behavior with rustfmt.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3117787fd2a8b7748cfde1e9b8c5be3c00f2c599
2016-09-08 22:19:19 -05:00
Anthony Ramine
1c0d09c584 servo: Merge #13100 - Use Option<T> to return from getters (from nox:better-getters); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 3649a356c8ddd04d3beebff9978b1bffa407c307
2016-08-31 04:10:42 -05:00
Eric Anholt
e6de2536bf servo: Merge #13102 - webgl: Add isProgram() support (from anholt:webgl-is-program); r=emilio
<!-- Please describe your changes on the following line: -->
webgl: Add isProgram() support.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

There's one failure still, where a deleted program should still be
considered to be a program until it's unbound.  However, I recently
made it so that we unbind at delete time, and we may need to partially
back that change out.

Source-Repo: https://github.com/servo/servo
Source-Revision: d37d4d697ae8c8897384213be82f25a51a4aa835
2016-08-28 21:23:59 -05:00
Eric Anholt
4c169f0d81 servo: Merge #13060 - webgl: Do validation of glScissor/glViewport(width, height) on the DOM side (from anholt:webgl-invalid-passed-params); r=emilio
<!-- Please describe your changes on the following line: -->
webgl: Do validation of glScissor/glViewport(width, height) on the DOM side

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Avoids testcase CRASHes due to unexpected GL errors.

Source-Repo: https://github.com/servo/servo
Source-Revision: 11e8e42fd855c1078364c70926dfb1c888bdb7bb
2016-08-28 20:10:47 -05:00
Eric Anholt
daa29f2156 servo: Merge #12934 - webgl: object deletion and bindings (from anholt:webgl-deletion-and-bindings); r=emilio
<!-- Please describe your changes on the following line: -->
This PR brings in some fixes to the wpt object-deletion-and-behaviour.html testcase.

The test still has many failures, but some of the things that were really getting in the way are fixed.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 969aefe01f347060c10e0729e3429113018e4ed1
2016-08-27 00:05:54 -05:00
Eric Anholt
12e38a2dba servo: Merge #13052 - webgl: Fix validation of drawElements()'s type argument (from anholt:webgl-drawelements-types); r=nox
<!-- Please describe your changes on the following line: -->
webgl: Fix validation of drawElements()'s type argument.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Fixes crash due to unexpected GL errors in gl-drawelements.html.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3b11c5ea2d3d6e68d4f9609e5e2a81056bfb27d0
2016-08-26 06:24:39 -05:00