Commit graph

535 commits

Author SHA1 Message Date
pylbrecht
c8025c9147 Don't reuse PathBuilder after calling finish() 2019-12-17 19:51:56 +01:00
Alan Jeffrey
44db86fefd Add extra debug assertions for WebGL errors 2019-12-06 14:56:46 -06:00
Emilio Cobos Álvarez
f8e924f86a
style: Don't specify minor version for cssparser. 2019-11-30 20:45:06 +01:00
Josh Matthews
564c16d754 Use non-IPC webrender API over explicit IPC channels. 2019-11-27 20:47:53 -05:00
Mátyás Mustoha
8fefa23019 Add support for WebGL2 ReadPixels functions
Adds support for the new ReadPixels functions introduced with WebGL2
and the relevant PixelStorei parameters.

Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.10
2019-11-26 16:09:13 +01:00
bors-servo
7da8d75a7e
Auto merge of #24426 - servo:wrup, r=jdm,nox
Update webrender

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24426)
<!-- Reviewable:end -->
2019-11-20 05:08:32 -05:00
Alan Jeffrey
124de75089 Avoid recompiling script every time surfman changes 2019-11-18 09:40:58 -06:00
Anthony Ramine
808c34498b Update webrender and serde_bytes 2019-11-13 11:54:51 -05:00
bors-servo
31ee5fc2f5
Auto merge of #24676 - Manishearth:unpatch, r=jdm
Remove patched webxr

Unsure if this compiles yet, testing locally.

r? @jdm
2019-11-11 19:25:22 -05:00
Manish Goregaokar
2436bd195a Update surfman to use Git version 2019-11-11 12:29:05 -08:00
Bailey Blankenship
ec2961920b Addresses issues raised in #24465; removes redundancy in set_bitmap_dimensions
Removed passing test .ini files and moved euclid extensions to euclidext.rs to factor out redundant code
2019-11-10 18:37:14 -05:00
Manish Goregaokar
51bf8fcfe3 Remove patched webxr 2019-11-08 09:49:52 -08:00
Istvan Miklos
4f112b1705 Add Support for WebGL Transormfeedback
Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.15
2019-11-08 15:22:52 +01:00
Mátyás Mustoha
4050b7f9ec Implement the basic WebGL2 buffer data operations
Adds support for `bufferData`, `bufferSubData`, `copyBufferSubData`
and `getBufferSubData`.

Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.3
2019-11-05 11:33:13 +01:00
Patrick Walton
a358bca766 Use surfman for managing GL surfaces
Co-authored-by: Alan Jeffrey <ajeffrey@mozilla.com>
Co-authored-by: Zakor Gyula <gyula.zakor@h-lab.eu>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2019-11-01 08:47:11 -05:00
Anthony Ramine
785a344e32 Update rand to 0.7 (fixes #24448) 2019-10-23 15:34:48 +02:00
pylbrecht
fa2de68919 Implement DrawTarget::snapshot() 2019-10-11 20:07:36 +02:00
pylbrecht
772f2bc2ee Implement Path::transformed_copy_to_builder() 2019-10-11 20:07:35 +02:00
pylbrecht
f88c6efd63 Show warn! for shadow drawing operations 2019-10-11 20:06:48 +02:00
Josh Matthews
c53680b282 webgl: Lazily clear the canvas right before the first webgl command of the next frame. 2019-10-10 09:57:20 -04:00
Josh Matthews
4d7110aca5 webgl: Clear the drawing buffer when preserveDrawingBuffer is false. 2019-10-09 10:27:47 -04:00
Mátyás Mustoha
26df1962c3 Add WebGLSampler support
Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.13
2019-10-08 16:21:43 +02:00
Istvan Miklos
248545ddda Initial implementation of WebGLSync
This patch adds initial support for WebGLSync.

Note:
There is no test for the isSync, deleteSync and waitSync functions in the `conformance2/sync/sync-webgl-specific.html`.
2019-10-02 12:51:32 +02:00
bors-servo
d70d2708da
Auto merge of #24335 - sinkuu:unuesd_deps, r=SimonSapin
Remove unused dependencies

<!-- Please describe your changes on the following line: -->
Removes unused crates from `Cargo.toml` to (possibly) shorten build time.

---
<!-- 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 no semantic 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24335)
<!-- Reviewable:end -->
2019-10-01 23:45:56 -04:00
Shotaro Yamada
b228d2700e Remove unused dependencies 2019-10-01 21:15:53 +09:00
Mátyás Mustoha
f2e2b3d34b Initial implementation of WebGLQueries
This patch adds initial support for WeGLQueries. Most related WebGL
functions and objects are implemented [1]. What's still missing is
the `EXT_disjoint_timer_query_webgl2` support.

[1]: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.12
2019-10-01 12:30:24 +02:00
bors-servo
6ca62aa0de
Auto merge of #24242 - jdm:xr-webgllayer-format, r=asajeffrey,nox
Fix immersive mode panic on three.js rollercoaster on hololens

We have some special logic about texture formats when creating drawing buffers for WebGL that needs to be shared with the code that creates a separate framebuffer for immersive mode.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #24083 and fix #20595.
- [x] These changes do not require tests because no CI for hololens; tested manually in the emulator.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24242)
<!-- Reviewable:end -->
2019-09-23 19:34:10 -04:00
Josh Matthews
5bd1e86d42 webxr: Use the same texture format as the original GL context's framebuffer when creating an XR GL layer. 2019-09-20 01:28:22 -04:00
pylbrecht
308908ed40 Implement LinearGradient and RadialGradient 2019-09-17 16:58:13 +02:00
pylbrecht
b8f92937b3 Implement ColorBurn 2019-09-17 11:54:39 +02:00
pylbrecht
430fad8b13 Update raqote 2019-09-17 11:54:39 +02:00
pylbrecht
818b5d4150 Add naive implementation for ellipse()
rust-azure's ellipse() C++ implementation copy/pasted and kind of ported
to Rust. Obviously needs refactor to turn it into idiomatic Rust.
2019-09-17 11:48:44 +02:00
Josh Matthews
0d88c13186 webgl: Support vertex array objects on macOS. 2019-09-13 16:20:41 -04:00
Josh Matthews
1cefae7181 Replace use of gleam in webgl with sparkle. 2019-09-11 11:40:04 -04:00
Alan Jeffrey
1e3b08aae8 Fallback to old extensions API if NUM_EXTENSIONS errors 2019-09-03 11:03:45 -05:00
bors-servo
18f59fc16f
Auto merge of #24048 - pylbrecht:raqote, r=jrmuizel
Implement raqote backend for canvas 2D rendering

<!-- Please describe your changes on the following line: -->
This is a follow-up of #23936.

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

<!-- Either: -->

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24048)
<!-- Reviewable:end -->
2019-09-02 12:32:23 -04:00
pylbrecht
d24568218b Don't use catch all in match 2019-09-01 19:26:04 +02:00
pylbrecht
47a6129332 Use raqote's implementation of Path::contains_point() 2019-09-01 19:22:20 +02:00
pylbrecht
7c81d20869 Implement create_gradient_stops() 2019-08-29 14:17:03 +02:00
bors-servo
9a4f90bf0c
Auto merge of #24058 - Eijebong:ipc-channel, r=jdm
Update ipc-channel and related dependencies

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24058)
<!-- Reviewable:end -->
2019-08-27 18:40:40 -04:00
Bastien Orivel
92161ecfbc Update ipc-channel and related dependencies 2019-08-27 23:44:04 +02:00
Mátyás Mustoha
736f6859b0 Fix extension querying when using WebGL2
This patch fixes a crash caused by using a deprecated GL call.
Starting with OpenGL 3 (used by WebGL2), the `glGetString(GL_EXTENSIONS)`
call is deprecated, and some drivers produce GL_INVALID_ENUM error.
Querying can be done by checking the number of extensions first,
then getting the extensions one by one.
2019-08-26 15:12:43 +02:00
pylbrecht
89b8bd516f Refactor Path::contains_point() using any() 2019-08-25 16:43:29 +02:00
pylbrecht
ee7f3dbc46 Implement PathBuilder::get_current_point() 2019-08-25 16:19:33 +02:00
pylbrecht
2a0be451ae Implement Path::contains_point() 2019-08-25 15:50:04 +02:00
Simon Sapin
98e4a53b72 Upgrade to rustc 1.39.0-nightly (f7af19c27 2019-08-15) 2019-08-23 08:23:21 +02:00
Bastien Orivel
f829eaea03 Fix the build and tidy and address nits 2019-08-21 19:19:43 +02:00
Bastien Orivel
168a526221 Implement Source::Surface for FillOrStrokeStyle with raqote 2019-08-21 19:10:57 +02:00
Bastien Orivel
8a57876482 Implement get_format
Since raqote doesn't have multiple formats for its surfaces, this is a
noop to avoid crashing with the unimplemented
2019-08-21 19:10:57 +02:00
Bastien Orivel
dc78b6a989 Implement a few functions to make tests in draw-image and draw-path pass 2019-08-21 19:10:57 +02:00