aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas
Commit message (Collapse)AuthorAgeFilesLines
* Auto merge of #25543 - szeged:mmatyas__webgl_fns_uniforms_p3, r=jdmbors-servo2020-01-172-1/+61
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for WebGL2 uniform matrix operations Adds support for the `uniformMatrix[234]x[234]fv` WebGL2 functions. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8 <!-- Please describe your changes on the following line: --> Note: Similarly to #25538, some of the functions here also overlap with their WebGL 1 variant. cc @jdm @zakorgy @imiklos --- <!-- 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] 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. -->
| * Add support for WebGL2 uniform matrix operationsMátyás Mustoha2020-01-172-1/+61
| | | | | | | | | | | | Adds support for the `uniformMatrix[234]x[234]fv` WebGL2 functions. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
* | Auto merge of #25540 - pylbrecht:raqote, r=jdmbors-servo2020-01-171-2/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix canvas wpt test ensuring there's a subpath when drawing bezier curves <!-- Please describe your changes on the following line: --> These changes will ensure there's a subpath when drawing bezier curves. --- <!-- 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 #25331 <!-- 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. -->
| * Add first control point if there's no subpathpylbrecht2020-01-161-2/+5
| |
* | Add support for WebGL2 unsigned uniform operationsMátyás Mustoha2020-01-152-1/+39
|/ | | | | | | This adds support for the WebGL2 `uniform[1234]ui` and `uniform[1234]uiv` operations. See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.8
* Add initial support for WebGL2 uniform buffer functionsMátyás Mustoha2020-01-093-2/+107
| | | | | | | | | | | | | | | Adds initial support for the following WebGL2 calls: - bindBufferBase - bindBufferRange - getUniformIndices - getUniformBlockIndex - getActiveUniforms - getActiveUniformBlockParameter - getActiveUniformBlockName - uniformBlockBinding See: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.16
* Auto merge of #25445 - pylbrecht:ensure.path.quad, r=jdmbors-servo2020-01-071-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure subpath for control point of CanvasRenderingContext2D.quadraticCurveTo() <!-- Please describe your changes on the following line: --> These changes are based on #25444. --- <!-- 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 #25331 <!-- 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. -->
| * Ensure subpath for control point in quadratic_curve_to()pylbrecht2020-01-071-0/+3
| |
| * Ensure there's a subpath for the first control pointpylbrecht2020-01-061-1/+4
| |
* | Auto merge of #25444 - pylbrecht:raqote, r=jdmbors-servo2020-01-071-1/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix canvas arc path WPT test failures <!-- 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 - [x] These changes fix part of #25331 (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. -->
| * | Ensure there's a subpath for the first control pointpylbrecht2020-01-071-1/+4
| |/
* / webgl: Set more ANGLE shader translation properties for WebGL 2.Josh Matthews2020-01-072-36/+84
|/
* Remove duplication for creating gradient stopspylbrecht2019-12-171-16/+16
|
* Add transform to Pattern::Surface to properly draw imagespylbrecht2019-12-171-6/+32
|
* Consider empty gradients in `is_zero_size_gradient()`pylbrecht2019-12-171-2/+4
|
* Handle `BlendMode::Clear` in `GenericDrawTarget::fill()`pylbrecht2019-12-171-0/+1
|
* Add a layer to store Pattern related informationpylbrecht2019-12-172-173/+247
| | | | | | | | Some information of `canvas_data::Pattern` was lost by converting it to `raqote::Source` due to the fact that Raqote did not store this information (e.g. linear gradient's start/end points). We introduce another layer to keep this information for later use (like in `is_zero_size_gradient()`).
* Implement "repeat-x" and "repeat-y" for imagespylbrecht2019-12-172-48/+77
|
* Set images' ExtendMode based on available informationpylbrecht2019-12-171-1/+6
|
* Handle overlapping gradient stops for linear gradientspylbrecht2019-12-171-3/+10
| | | | | | | | | | | From `addColorStop(offset, color)`s spec: If multiple stops are added at the same offset on a gradient, they must be placed in the order added, with the first one closest to the start of the gradient, and each subsequent one infinitesimally further along towards the end point (in effect causing all but the first and last stop added at each point to be ignored) https://www.w3.org/html/test/results/2dcontext/annotated-spec/canvas.html#testrefs.2d.gradient.interpolate.overlapu
* Use push_layer_with_blend() only when necessarypylbrecht2019-12-171-5/+36
| | | | | push_layer_with_blend() comes at a performance cost, so we only use it on blend modes that require it.
* Make arc() wrap angles mod 2pipylbrecht2019-12-171-1/+8
|
* Make arc() use `anticlockwise` argumentpylbrecht2019-12-171-1/+2
|
* Make fill() handle all composition operationspylbrecht2019-12-171-30/+5
|
* Make fill() draw uncovered pixels as (0,0,0,0) for certain composition opspylbrecht2019-12-171-7/+42
|
* Respect direction when drawing arcspylbrecht2019-12-171-2/+5
|
* Respect FilterMode when drawing imagespylbrecht2019-12-171-10/+29
|
* Add check for handling equal radial gradientspylbrecht2019-12-171-1/+8
|
* Add check to handle zerosize linear gradientspylbrecht2019-12-171-1/+6
|
* Use tolerance > 0 in Path::contains_point()pylbrecht2019-12-171-1/+1
|
* Create raqote::SolidSource with premultiplied colorpylbrecht2019-12-171-30/+30
| | | | SolidSource expects a premultiplied color.
* Fix conversion of image data slicepylbrecht2019-12-171-1/+1
|
* Handle empty paths in PathBuilder::get_current_point()pylbrecht2019-12-173-17/+15
| | | | | The case of calling get_current_point() on empty paths has not been handled and caused panics.
* Apply transformation in Path::contains_point()pylbrecht2019-12-171-2/+5
|
* Don't reuse PathBuilder after calling finish()pylbrecht2019-12-171-0/+1
|
* Add extra debug assertions for WebGL errorsAlan Jeffrey2019-12-061-0/+7
|
* style: Don't specify minor version for cssparser.Emilio Cobos Álvarez2019-11-301-1/+1
|
* Use non-IPC webrender API over explicit IPC channels.Josh Matthews2019-11-274-37/+71
|
* Add support for WebGL2 ReadPixels functionsMátyás Mustoha2019-11-262-1/+12
| | | | | | | 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
* Auto merge of #24426 - servo:wrup, r=jdm,noxbors-servo2019-11-201-1/+1
|\ | | | | | | | | | | | | | | 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 -->
| * Update webrender and serde_bytesAnthony Ramine2019-11-131-1/+1
| |
* | Avoid recompiling script every time surfman changesAlan Jeffrey2019-11-183-1/+5
|/
* Auto merge of #24676 - Manishearth:unpatch, r=jdmbors-servo2019-11-113-22/+59
|\ | | | | | | | | | | | | | | Remove patched webxr Unsure if this compiles yet, testing locally. r? @jdm
| * Update surfman to use Git versionManish Goregaokar2019-11-112-2/+6
| |
| * Remove patched webxrManish Goregaokar2019-11-082-20/+53
| |
* | Addresses issues raised in #24465; removes redundancy in set_bitmap_dimensionsBailey Blankenship2019-11-102-8/+40
| | | | | | | | Removed passing test .ini files and moved euclid extensions to euclidext.rs to factor out redundant code
* | Add Support for WebGL TransormfeedbackIstvan Miklos2019-11-082-2/+58
|/ | | | Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.15
* Implement the basic WebGL2 buffer data operationsMátyás Mustoha2019-11-051-0/+21
| | | | | | | Adds support for `bufferData`, `bufferSubData`, `copyBufferSubData` and `getBufferSubData`. Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.3
* Use surfman for managing GL surfacesPatrick Walton2019-11-017-1191/+1127
| | | | | | 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>
* Update rand to 0.7 (fixes #24448)Anthony Ramine2019-10-231-1/+1
|