Commit Graph

5 Commits

Author SHA1 Message Date
Igor Gutorov
d38a0e9238 servo: Merge #20317 - Implement WebGL getFrameBufferAttachmentParameter API (from gootorov:webgl-getFramebufferAttachmentParameter); r=jdm
<!-- Please describe your changes on the following line: -->
Implementation of `getFramebufferAttachmentParameter` as in WebGL1 specification.

Part of https://github.com/servo/servo/issues/10209.

r? emilio or jdm.

---
<!-- 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

<!-- 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: 4aaac61a87f4e45e46d0591be73ce108e562c33f
2018-03-22 12:28:30 -04:00
Martina Kollarova
17c4e8f951 servo: Merge #20144 - Add WebGL function glGetTexParameter (from mkollaro:gettexparameter); r=jdm
<!-- Please describe your changes on the following line: -->
Add WebGL function glGetTexParameter

---
<!-- 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 part of #10209

<!-- 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: f5037cf6219cafbc86bfaf6483b81b4ffb3496fa
2018-03-06 09:48:56 -05:00
Simon Sapin
4179ee0fb3 servo: Merge #19829 - Update Rust and use the newly-stable std::ptr::NonNull (from servo:rustup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: c1ed4bb2d5ed6a4f9967215620d2105cda5ef76a
2018-01-22 11:11:44 -06:00
Imanol Fernandez
cd6b380851 servo: Merge #19091 - Add WebGL conformance 2.0.0 tests (from MortimerGoro:webgl2_suite); r=jdm
<!-- Please describe your changes on the following line: -->

This PR includes WebGL conformance 2.0.0 tests. For now I have disabled three folders in the new suite:
- `Conformance`: Tests WebGL 1.0 API like the current 1.0.3 suite we are using, but it includes a lot more tests and many expectations have to be updated. This is better to do in a separate PR because it will require to update github intermittent paths again and maybe detect new intermittents.
- `Conformance2\textures`: It causes a lot of timeouts because of using videos, svgs, and other complicated formats.
- `deqp`: It's a extra GPU testing suite included in the Khronos 2.0.0 suite. Disabled for now because it causes some timeouts.

So in a nutshell, it uses part of the 2.0.0 suite to test webgl 2.0 and keeps using 1.0.3 in order to test WebGL 1.0. It's good enough to enable TDD for the new WebGL 2.0 features

We can create follow-up issues for the next steps:
* deprecate 1.0.3 and use the new 'conformance' folder in 2.0.0 in order to test WebGL 1.0
* Enable `conformance2/textures` and  'deqp' tests once WebGL 2.0 implementation is more advanced or the timeouts are monitored in more detail.

---
<!-- 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: 92b49010b107ffd8be9169a1c979710338dc24c4
2017-11-02 15:52:42 -05:00
Imanol Fernandez
69874dd2fd servo: Merge #19028 - Kick off WebGL 2.0 implementation (from MortimerGoro:webgl2); r=emilio
<!-- Please describe your changes on the following line: -->

This PR kicks off the WebGL 2.0 implementation:

- Include WebGL2RenderingContext.webidl and comment unimplemented methods
- Create WebGL2 struct hierarchy with WebGL 1.0 backwards compatibility
- Add WebGL 2.0 entry points to canvas
- Select the correct GL Version on GLContext backends (related PR https://github.com/emilio/rust-offscreen-rendering-context/pull/108)
- Add WebGL version selection in shader compilations
- Create a WebGL 2.0 preference

I tried a complex three.js demo using canvas.getContext("webgl2") and the backwards compatibility worked great.

Next steps:

- I'll add WebGLVersion selection/filtering to WebGLExtensions and move some extensions to core in WebGL 2.0 (e.g. VAOs)
- I'll add the WebGL 2.0 conformance WPT
- I'll create a mega-issue with a the list of all TODO methods for a complete WebGL 2.0 implementation (as @emilio did with WebGL 1.0), so we can start start getting community involvement.

---
<!-- 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: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because I will add the entire webgl 2.0 WPT in a different PR

<!-- 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: d21657a9e5cfdb858c1a99a246001ceac05bb982
2017-10-27 05:56:12 -05:00